亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

PHP定時(shí)執(zhí)行任務(wù)的3種方法詳解

 更新時(shí)間:2015年12月21日 10:38:56   作者:PHP淮北  
PHP不支持多線程,有時(shí)候處理問(wèn)題不是那么方便,今天談?wù)撘幌翽HP定時(shí)執(zhí)行的方法,感興趣的小伙伴們可以參考一下

PHP定時(shí)執(zhí)行的三種方式實(shí)現(xiàn)

  • 1、windows 的計(jì)劃任務(wù)
  • 2、linux的腳本程序
  • 3、讓web瀏覽器定時(shí)刷新

具體實(shí)現(xiàn)
1、windows計(jì)劃任務(wù)

PHP很少在win服務(wù)器上跑,具體實(shí)現(xiàn)也不再深究,看網(wǎng)上實(shí)現(xiàn)的原理大概是寫bat腳本,然后讓window任務(wù)添加執(zhí)行這個(gè)bat腳本。
2、linux 的腳本實(shí)現(xiàn)
這里主要使用到crontab這個(gè)命令,
使用方式 :

復(fù)制代碼 代碼如下:
crontab   filecrontab [ -u user ] [ -u user ] { -l | -r | -e }

說(shuō)明 :

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

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

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

<?php
ignore_user_abort();//關(guān)掉瀏覽器,PHP腳本也可以繼續(xù)執(zhí)行.
set_time_limit(3000);// 通過(guò)set_time_limit(0)可以讓程序無(wú)限制的執(zhí)行下去
$interval=5;// 每隔5s運(yùn)行
 
//方法1--死循環(huán)
do{
  echo '測(cè)試'.time().'<br/>'; 
  sleep($interval);// 等待5s  
}while(true);
 
//方法2---sleep 定時(shí)執(zhí)行
  require_once './curlClass.php';//引入文件
   
  $curl = new httpCurl();//實(shí)例化
  $stime = $curl->getmicrotime();
  for($i=0;$i<=10;$i++){
     
    echo '測(cè)試'.time().'<br/>'; 
    sleep($interval);// 等待5s
     
  }
  ob_flush();
  flush();
  $etime = $curl->getmicrotime();
  echo '<hr>';
  echo round(($etime-stime),4);//程序執(zhí)行時(shí)間

測(cè)試的時(shí)候發(fā)現(xiàn)這個(gè)效率并不是很高。

總結(jié):

個(gè)人感覺(jué)PHP定時(shí)執(zhí)行任務(wù)的效率不是很高,建議關(guān)于定時(shí)執(zhí)行任務(wù)的工作還是交給shell來(lái)做吧。

以上就是PHP定時(shí)執(zhí)行任務(wù)的3種方法,對(duì)于前一篇文章結(jié)尾中提到的crontab這個(gè)命令,也進(jìn)行了簡(jiǎn)單介紹,希望大家能夠有所收獲。

相關(guān)文章

最新評(píng)論