有時候為了監控某個程序,需要定時任務。需要程式自動運行。
1、ignore_user_abort()
ignore_user_abort()函數搭配set_time_limit(0)和sleep($interval)即可實作程式自動執行更新。
範例:
//即使Client斷開(如關掉瀏覽器),PHP腳本也可以繼續執行.
ignore_user_abort();
// 執行時間為無限制,php預設的執行時間是30秒,透過set_time_limit(0)可以讓程式無限制的執行下去
set_time_limit(0);
// 每隔5分鐘運行
$interval=60*5;
= "http://yaolei.info"; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url);, UR% curl_setopt($ch , CURLOPT_TIMEOUT, 2); $result = curl_exec($ch); curl_close($ch); curl_close($ch); curl_close($ch);}while(true); 只要運行上面的頁面,然後關掉,程式就會一直運作下去。
2、crontab
Linux 下有種更簡單的方法,就是crontab指令crontab指令的功能是在一定的時間間隔調度一些指令的執行。
crontab 使用方法: crontab [ -e | -l | -r ] 檔案名稱-e:編輯任務-l:顯示任務資訊-r:刪除定時執行任務資訊
crontab的格式:
* * * * * Command
* Command
分時日月星期要執行的指令
crontab的範例: