備忘一下這個函數:
函數名稱:ignore_user_abort
本函數配置或取得使用端連接中斷後,PHP 程序是否仍繼續執行。默認值為中斷連接後就停止執行。在 PHP 配置文件中 (php3.ini/php.ini) 的 ignore_user_abort 選項就是配置處。本功能在 PHP 3.0.7 版之後才開始提供。
官方說明:http://cn2.php.net/manual/en/function.ignore-user-abort.php
使用方法:
復制代碼 代碼如下:
ignore_user_abort(true); //即使Client斷開(如關掉浏覽器),PHP腳本也可以繼續執行.
這樣就可以實現計劃任務效果了.但是還是要客戶端訪問程序才行.
比如說在生成靜態頁面、采集的時候,不需要在等待了。關掉浏覽器吧。
例子:
復制代碼 代碼如下:
//test
set_time_limit(0);
ignore_user_abort(true);
$i = 0 ;
while($i ++ < 200){
file_put_contents($i.'.php' , $i);
sleep(3);
}
用ignore_user_abort函數實現php計劃任務
復制代碼 代碼如下:
<?php
ignore_user_abort(true);
set_time_limit(0);
while(1) {
$fp = fopen('time_task.txt',"a+");
$str = date("Y-m-d h:i:s")."\n\r";
fwrite($fp,$str);
fclose($fp);
sleep(5); //半小時執行一次
}
?>