在虚拟机下让PHP Run Cron job.
Posted by quentin 在 Monday, 12 March 2012
用虚拟主机做网站的朋友都知道,无法在系统内设置crontab,那么就无法实现后台执行cron。
怎么办呢?这里给出一个好的解决方案。
用PHP可以实现,请参考。当要停止cron运行,只要将目录下的cron.run去掉即可。
<?php//关掉浏览器,PHP脚本也可以继续执行.ignore_user_abort();// 通过set_time_limit(0)可以让程序无限制的执行下去set_time_limit(0);// 每隔半小时运行$interval=10;// seconds 60*30;if (check_cron_status()) { die("Cron is already running.");}else { file_put_contents('./cron.run', '');}do{ $log = date('Y-m-d H:i:s') . "\n"; if (check_cron_status()) { //这里是你要执行的代码 file_put_contents('cron.log', $log, FILE_APPEND); } else { die("Cron stopped."); } sleep($interval);}while(true);function check_cron_status() { return file_exists('./cron.run');}?>
添加新评论