转自:http://blog.meiu.cn/post/36/1/1/
说到计划任务大家可能都想到用crontab来实现。可是并不是所有人都是使用linux系统,也不是所有人都有独立服务器。这时候如何用php来实现计划任务呢。
函数- ignore_user_abort(),这个函数可以帮助我们实现像linux中的cron一样实现计划任务,下面一起来看下该如何来实现。
该函数按照字面意思就是“忽略用户中断”,就是使用了该函数的php脚本不管用户有没有退出都会执行下去。
配合set_time_limit 和一个死循环就可以实现计划任务,这样在循环体中,去查询是否有任务需要执行!
例子如下:
view sourceprint?
02
|
ignore_user_abort(); // run script in background
|
03
|
set_time_limit(0); // run script forever
|
04
|
$interval=60*15; // do every 15 minutes...
|
06
|
// add the script that has to be ran every 15 minutes here
|
08
|
sleep($interval); // wait 15 minutes
|
但是这个方法也有一个问题,就是当重启了apache之后,脚本就被终止了。