詳解PHP實(shí)現(xiàn)執(zhí)行定時(shí)任務(wù)
PHP在這方面應(yīng)該說(shuō)是比較弱,如果只用php去實(shí)現(xiàn)可以如下:
<?php
ignore_user_abort();//關(guān)閉瀏覽器后,繼續(xù)執(zhí)行php代碼
set_time_limit(0);//程序執(zhí)行時(shí)間無(wú)限制
$sleep_time = 1;//多長(zhǎng)時(shí)間執(zhí)行一次
do{
$fp = fopen('test.txt','a+');
fwrite($fp,"這是一個(gè)php博客:phpddt.com \n");
fclose($fp);
sleep($sleep_time);
}while(true);
?>
但是當(dāng)我執(zhí)行腳本的時(shí)候,即使我關(guān)閉了瀏覽器,我根本就沒法去停止這段程序了,所以你需要一個(gè)執(zhí)行腳本的開關(guān),你可以用外部文件引入的方法來(lái)實(shí)現(xiàn),在while循環(huán)的時(shí)候,include開關(guān)變量即可。那么就可以這樣實(shí)現(xiàn):
建立外部引入變量文件 switch.php 內(nèi)容如下:
<?php return 1;//1執(zhí)行腳本 0退出執(zhí)行腳本 ?>
改良腳本如下:
<?php
ignore_user_abort();//關(guān)閉瀏覽器后,繼續(xù)執(zhí)行php代碼
set_time_limit(0);//程序執(zhí)行時(shí)間無(wú)限制
$sleep_time = 5;//多長(zhǎng)時(shí)間執(zhí)行一次
$switch = include 'switch.php';
while($switch){
$switch = include 'switch.php';
$fp = fopen('test.txt','a+');
fwrite($fp,"這是一個(gè)php博客:phpddt.com $switch \n");
fclose($fp);
sleep($sleep_time);
}
exit();
?>
這個(gè)腳本只是測(cè)試可行,具體效率應(yīng)該不高,對(duì)于lamp,你完全可以使用crontab 來(lái)實(shí)現(xiàn)。
再補(bǔ)充一段小代碼:
ignore_user_abort();//關(guān)掉瀏覽器,PHP腳本也可以繼續(xù)執(zhí)行.
set_time_limit(0);// 通過(guò)set_time_limit(0)可以讓程序無(wú)限制的執(zhí)行下去
$interval=60*30;// 每隔半小時(shí)運(yùn)行
do{
//這里是你要執(zhí)行的代碼
sleep($interval);// 等待5分鐘
}while(true);
關(guān)于PHP定時(shí)執(zhí)行任務(wù)的實(shí)現(xiàn)就為大家介紹這么多,之后還有相關(guān)文章為大家分享,不要錯(cuò)過(guò)。
- PHP通過(guò)CURL實(shí)現(xiàn)定時(shí)任務(wù)的圖片抓取功能示例
- 詳解PHP實(shí)現(xiàn)定時(shí)任務(wù)的五種方法
- php版本的cron定時(shí)任務(wù)執(zhí)行器使用實(shí)例
- linux使用crontab實(shí)現(xiàn)PHP執(zhí)行計(jì)劃定時(shí)任務(wù)
- PHP對(duì)接微信公眾平臺(tái)消息接口開發(fā)流程教程
- php實(shí)現(xiàn)微信公眾平臺(tái)賬號(hào)自定義菜單類
- 基于php的微信公眾平臺(tái)開發(fā)入門實(shí)例
- php微信支付之APP支付方法
- PHP版微信公眾平臺(tái)紅包API
- PHP定時(shí)任務(wù)獲取微信access_token的方法
相關(guān)文章
php簡(jiǎn)單實(shí)現(xiàn)數(shù)組分頁(yè)的方法
這篇文章主要介紹了php簡(jiǎn)單實(shí)現(xiàn)數(shù)組分頁(yè)的方法,涉及php數(shù)組操作及數(shù)學(xué)運(yùn)算相關(guān)技巧,需要的朋友可以參考下2016-04-04
php中通過(guò)DirectoryIterator刪除整個(gè)目錄的方法
這篇文章主要介紹了php中通過(guò)DirectoryIterator刪除整個(gè)目錄的方法,實(shí)例分析了php通過(guò)DirectoryIterator類操作目錄的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-03-03
PHP實(shí)現(xiàn)的簡(jiǎn)單sha1加密功能示例
這篇文章主要介紹了PHP實(shí)現(xiàn)的簡(jiǎn)單sha1加密功能,結(jié)合具體實(shí)例形式分析了php sha1加密功能的具體實(shí)現(xiàn)方法與使用技巧,需要的朋友可以參考下2017-08-08
PHP如何實(shí)現(xiàn)訂單的延時(shí)處理詳解
這篇文章主要給大家介紹了關(guān)于利用PHP如何實(shí)現(xiàn)訂單的延時(shí)處理的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2017-12-12
php中使用in_array() foreach array_search() 查找數(shù)組是否包含時(shí)的性能對(duì)比
這篇文章主要介紹了php中使用in_array() foreach array_search() 查找數(shù)組是否包含時(shí)的性能對(duì)比,需要的朋友可以參考下2015-04-04
PHP簡(jiǎn)單獲取隨機(jī)數(shù)的常用方法小結(jié)
這篇文章主要介紹了PHP簡(jiǎn)單獲取隨機(jī)數(shù)的常用方法,結(jié)合實(shí)例形式分析了php實(shí)現(xiàn)指定范圍隨機(jī)數(shù)與指定字符序列隨機(jī)數(shù)的簡(jiǎn)單實(shí)現(xiàn)技巧,需要的朋友可以參考下2017-06-06

