当前位置: 首页 > 后端技术 > PHP

crontab

时间:2023-03-30 00:09:18 PHP

PHP本身没有定时功能,PHP不能多线程。PHP的定时任务功能必须和其他工具结合使用。比如WordPress内置了wp-cron功能,非常强大。在这篇文章中,我们来深入分析几种常见的php定时任务的思路。使用CronTab在Linux服务器上定时执行php我们先从相对复杂的php服务器执行说起。如果服务器上安装了php,则不管是否安装了nginx或Apache等服务器环境软件,都可以执行php文件。在Linux中,使用命令行和使用CronTab来安排任务是一个极好的选择,也是效率最高的选择。首先,进入命令行模式。作为服务器,Linux一般默认进入命令行模式。当然,我们的管理服务器一般都是通过putty等工具远程连接服务器。为了方便,我们以root用户登录。在命令行输入:crontab-e后,会打开一个文件,它是非编辑状态,是vi的编辑界面。通过在键盘上输入i,您进入编辑模式,您可以编辑内容。这个文件中的每一行都是一个定时任务,我们新建一行,也就是新建一个定时任务(当然是指在这一行写一定的格式)。现在举个例子,添加一行内容如下:00lynx-dumphttps://www.yourdomain.com/sc...什么意思?上面一行其实由两部分组成,前一部分是时间,后一部分是操作内容。例如,上面的00表示当前时间的分钟为00时,定时任务将被执行。时间部分由5个时间参数组成,分别是:分 时 日 月 周第一列表示第1到59分钟或/1表示每一分钟,/n表示每n以分钟为例,/8表示每8分钟,下面打个比方。第二列表示小时1-23(0表示0点钟),第三列表示日期1-31,第四列表示月份1-12,第五列表示第0-6周(0表示Sunday)整个句子的后半部分是具体的操作内容。lynx-dumphttps://www.yourdomain.com/sc...意思是通过lynx访问这个url。我们主要使用lynx、curl、wget来实现远程访问url,如果想提高效率,直接使用php执行本地php文件是最好的选择,例如:00/2/usr/local/bin语句/php/home/www/script.php可以每2小时0分钟通过linux内部php环境执行script.php。注意这里不是通过url访问的,而是通过服务器环境执行的。直接执行,因为绕过了服务器环境,效率当然高很多。好吧,我添加了一些必需的定时任务。点击键盘上的Esc键,输入“:wq”回车,这样设置的定时任务就保存下来了,屏幕上也可以看到新建定时任务的提示。下一步是写好你的script.php。CronTab的更多用法这里不再介绍。如果想更灵活的使用这个定时任务功能,还是要自己多学习crontab。