PHP如何实现定时任务-linux

PHP如何实现定时任务-linux

PHP 是服务器端脚本语言,PHP也不能多线程。所以,从它诞生的那一天起,就注定了PHP本身是没有定时功能。PHP的定时任务只能通过和其他工具结合才能实现,比如WordPress内置的wp-cron。接下来我们就详细介绍一下Linux 下PHP实现定时任务的方法。


一、Linux:使用CronTab定时执行php

    服务器上只要安装了php,就可以执行php文件,连nginx或Apache等服务软件都不用管。可以直接使用命令行,用CronTab来定时任务,而且也是效率非常高。


    首先,进入命令行模式。用root用户登录。

    命令行:crontab -e

    之后就会打开一个文件,进入编辑模式,就可以编辑内容。文件中的每一行就是一个定时任务,新写入一行就是新建一个定时任务。比如:


00 * * * * lynx -dump https://xxxx/index.php

由两部分组成,前半部分是时间 ,后半部分是操作内容。


00 * * * *是指当分钟数为00时执行。时间部分由5个时间参数组成,分别是:


分 时 日 月 周

第1列表示分钟1~59  */n表示每n分钟,例如*/30就是每半小时,时,日,月,周依此类推。


lynx -dump https://xxxx/index.php 代表

通过lynx访问这个链接。我们在使用中主要用到lynx、curl、wget来实现对url的远程访问,当然最佳选择是直接访问文件,例如:


00 */1 * * * /usr/local/bin/php /home/www/index.php

在每1小时的第0分钟,通过linux内部php环境执行index.php,注意,这里是直接执行,绕过了服务器环境,效率高很多。


关于CronTab的更多用法这里就不介绍了,如果你想更灵活的使用这个定时任务功能,应该自己再去深入学习一下crontab。


回复列表



回复操作






   

发布时间:2016-03-04 10:41:44