最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

PHP定時執(zhí)行計劃任務(wù)的多種方法小結(jié)

 更新時間:2011年12月19日 01:12:09   作者:  
PHP不支持多線程,有時候處理問題不是那么爽,今天談?wù)撘幌翽HP定時執(zhí)行的方法
PHP定時執(zhí)行的三種方式實現(xiàn)
1、windows 的計劃任務(wù)
2、linux的腳本程序
3、讓web瀏覽器定時刷新

具體實現(xiàn)

windows計劃任務(wù)

PHP很少在win服務(wù)器上跑,具體實現(xiàn)也不再深究,看網(wǎng)上實現(xiàn)的原理大概是寫bat腳本,然后讓window任務(wù)添加執(zhí)行這個bat腳本,具體可以參考:http://m.fzitv.net/article/29134.htm

linux 的腳本實現(xiàn)
這里主要使用到crontab這個命令,

使用方式 :

crontab filecrontab [ -u user ] [ -u user ] { -l | -r | -e }

說明 :

crontab 是用來讓使用者在固定時間或固定間隔執(zhí)行程式之用

使用crontab寫shell腳本,然后讓PHP調(diào)用shell,這個是利用linux的特性,應(yīng)該還不算PHP自身語言的特性

可以參看:http://m.fzitv.net/article/29136.htm

PHP實現(xiàn)定時執(zhí)行計劃任務(wù)
使用php讓瀏覽器刷新需要解決幾個問題
PHP腳本執(zhí)行時間限制,默認的是30m 解決辦法:set_time_limit();或者修改PHP.ini 設(shè)置max_execution_time時間(不推薦)
如果客戶端瀏覽器關(guān)閉,程序可能就被迫終止,解決辦法:ignore_user_abort即使關(guān)閉頁面依然正常執(zhí)行
如果程序一直執(zhí)行很有可能會消耗大量的資源,解決辦法使用sleep使用程序休眠一會,然后在執(zhí)行
PHP定時執(zhí)行的代碼:
復(fù)制代碼 代碼如下:

<?php
ignore_user_abort();//關(guān)掉瀏覽器,PHP腳本也可以繼續(xù)執(zhí)行.
set_time_limit(3000);// 通過set_time_limit(0)可以讓程序無限制的執(zhí)行下去
$interval=5;// 每隔5s運行

//方法1--死循環(huán)
do{
echo '測試'.time().'<br/>';
sleep($interval);// 等待5s
}while(true);

//方法2---sleep 定時執(zhí)行
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);//程序執(zhí)行時間

測試的時候發(fā)現(xiàn)這個效率并不是很高,

QQ截圖20111216110444 
總結(jié):
個人感覺PHP定時執(zhí)行任務(wù)的效率不是很高,建議關(guān)于定時執(zhí)行任務(wù)的工作還是交給shell來做吧,比較那才是王道。
ps:那個死循環(huán)的方法好像是惡意攻擊網(wǎng)站經(jīng)常使用的方法

相關(guān)文章

最新評論

贵南县| 河曲县| 玛纳斯县| 东山县| 漳平市| 玉屏| 台江县| 北海市| 东至县| 黄山市| 天津市| 广宁县| 河北区| 图们市| 洛隆县| 瑞安市| 綦江县| 宝清县| 建湖县| 平昌县| 潞城市| 汤阴县| 咸阳市| 吉安县| 囊谦县| 建阳市| 平阳县| 鸡西市| 黑山县| 香河县| 沭阳县| 新巴尔虎右旗| 灵武市| 赤水市| 石林| 万安县| 松原市| 连平县| 贺州市| 温泉县| 专栏|