1.确认系统中安装了php-cli
安装命令:
apt-get install php5-cli
2.新建用户crontab
命令:
crontab -e
我的crontab内容文件如下:
# m h dom mon dow command
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
* */1 * * * /root/myshell/proj1.sh
*/1 * * * * date >> /root/test.txt
注:一定要有PATH,否则cron不会运行,可以参考系统中的crontab
然后在proj1.sh里可以写要运行的php脚本。
内容:
#! /bin/sh
echo "this is my test!";
date >> /root/test1.txt;
/usr/bin/php5 /var/www/index.php;
以上定时任务就可以执行了!
2 .还有一种方法,就是使用PHP中的
ignore_user_abort() 和set_time_limit()
这个方法可以把程序的定时时间控制在1秒中,上一种方法只能1分种,但是后一种方法有非常大的风险,如果起的定时程序多了这后apache连接数不支持,第二个问题是,我们现在的项目遇到了,如果你调用的程序长时间没有反应,这个定时器就会死掉了,这样就会引起很大的问题,如果PV量非常大的话,不建议再增加apache的开销了。还有如果apache重起,就得手动或其它方式来起动这个守护进程。