摘要:PHP定时任务的实现主要是利用ignore_user_abort()函数,ignore_user_abort可以实现当客户端关闭后仍然可以执行PHP代码,可保持PHP进程一直在执行,可实现所谓的计划任...
PHP定时任务的实现主要是利用ignore_user_abort()函数,ignore_user_abort可以实现当客户端关闭后仍然可以执行PHP代码,可保持PHP进程一直在执行,可实现所谓的计划任务功能与持续进程,只需要开启执行脚本,除非 apache等服务器重启或有脚本有输出,该PHP脚本将一直处于执行的状态,初看很实用,不过代价是一个PHP执行脚本的持续进程,开销很大,但却可以 实现很多意想不到的功能。
语法:
ignore_user_abort(setting)
setting
可选。如果设置为 true,则忽略与用户的断开,如果设置为 false,会导致脚本停止运行。
如果未设置该参数,会返回当前的设置。
脚本定时任务栗子:ignore_user_abort(true);
set_time_limit(0);
$interval = 10; //10秒钟执行一次
$stop = 1;
do {
//执行的业务
if( $stop == 10 ) break;
file_put_contents('test.php',' Current Time: '.time().' Stop: '.$stop."\n", FILE_APPEND);
$stop++;
sleep ( $interval );
} while ( true );