《PHP教程:PHP定時執行任務的3種方法詳解》要點:
本文介紹了PHP教程:PHP定時執行任務的3種方法詳解,希望對您有用。如果有疑問,可以聯系我們。
PHP定時執行的三種方式實現PHP學習
具體實現
1、windows計劃任務PHP學習
PHP很少在win服務器上跑,具體實現也不再深究,看網上實現的原理大概是寫bat腳本,然后讓window任務添加執行這個bat腳本.
2、linux 的腳本實現
這里主要使用到crontab這個命令,
使用方式 :PHP學習
說明 :PHP學習
crontab是用來讓使用者在固定時間或固定間隔執行程式之用PHP學習
使用crontab寫shell腳本,然后讓PHP調用shell,這個是利用linux的特性,應該還不算PHP自身語言的特性PHP學習
3、PHP實現定時執行計劃任務
使用php讓瀏覽器刷新需要解決幾個問題
PHP腳本執行時間限制,默認的是30m 解決方法:set_time_limit();或者修改PHP.ini 設置max_execution_time時間(不推薦)
如果客戶端瀏覽器關閉,程序可能就被迫終止,解決方法:ignore_user_abort即使關閉頁面依然正常執行
如果程序一直執行很有可能會消耗大量的資源,解決方法使用sleep使用程序休眠一會,然后在執行
PHP定時執行的代碼:
PHP學習
<?php ignore_user_abort();//關掉瀏覽器,PHP腳本也可以繼續執行. set_time_limit(3000);// 通過set_time_limit(0)可以讓程序無限制的執行下去 $interval=5;// 每隔5s運行 //辦法1--死循環 do{ echo '測試'.time().'<br/>'; sleep($interval);// 等待5s }while(true); //辦法2---sleep 定時執行 require_once './curlClass.php';//引入文件 $curl = new httpCurl();//實例化 $stime = $curl->getmicrotime(); for($i=0;$i<=10;$i++){ echo '測試'.time().'<br/>'; sleep($interval);// 等待5s } ob_flush(); flush(); $etime = $curl->getmicrotime(); echo '<hr>'; echo round(($etime-stime),4);//程序執行時間
測試的時候發現這個效率并不是很高.PHP學習
PHP學習
總結:PHP學習
個人感覺PHP定時執行任務的效率不是很高,建議關于定時執行任務的工作還是交給shell來做吧.
PHP學習
以上就是PHP定時執行任務的3種辦法,對于前一篇文章結尾中提到的crontab這個命令,也進行了簡單介紹,希望大家能夠有所收獲.PHP學習
歡迎參與《PHP教程:PHP定時執行任務的3種方法詳解》討論,分享您的想法,維易PHP學院為您提供專業教程。
轉載請注明本頁網址:
http://www.snjht.com/jiaocheng/8198.html