一. 簡單
思明網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)建站,思明網(wǎng)站設(shè)計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為思明超過千家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站建設(shè)公司要多少錢,請找那個售后服務(wù)好的思明做網(wǎng)站的公司定做!
?php
ignore_user_abort();//關(guān)掉瀏覽器,PHP腳本也可以繼續(xù)執(zhí)行.
set_time_limit(0);// 通過set_time_limit(0)可以讓程序無限制的執(zhí)行下去
ini_set('memory_limit','512M'); // 設(shè)置內(nèi)存限制
$interval=60*30;// 每隔半小時運行
do{
//ToDo
sleep($interval);// 等待5分鐘
}
while(true);
二. 簡單 可控型
config.php
?php
return 1;
?
cron.php
ignore_user_abort();//關(guān)掉瀏覽器,PHP腳本也可以繼續(xù)執(zhí)行.
set_time_limit(0);// 通過set_time_limit(0)可以讓程序無限制的執(zhí)行下去
$interval=60*30;// 每隔半小時運行
do{
$run = include 'config.php';
if(!$run) die('process abort');
//ToDo
sleep($interval);// 等待5分鐘
}
while(true);
三. 簡單 改進型
?php
$time=15;
$url="http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
/*
function
*/
sleep($time);
file_get_contents($url);
?
PHP制作定時任務(wù)(也稱計劃任務(wù))的方法,大概分為2種:
現(xiàn)在基本所有的PHP框架,如:ThinkPHP,Yii,Laravel等等;它們都是單入口的形式,也就是說所有的請求都集合到index.php中,然后再由框架核心來根據(jù)請求參數(shù)的不同來分配到不同的控制器當中。基于單入口的形式,那么就可以做基于行為(例如TP3.2)或者說基于事件的定時任務(wù)。
系統(tǒng)自動的定時任務(wù),比如Linux的crontab,windows的計劃任務(wù)等。
兩中方法各有所長各有所短
基于事件:這種利用的是框架本身提供的一些行為來實現(xiàn),優(yōu)點是:不需要特殊配置,只要項目能跑起來,那么定時任務(wù)也能執(zhí)行。缺點是:靈活性比較差,必須要借助框架實現(xiàn)。
基于系統(tǒng):基于操作系統(tǒng)來實現(xiàn),優(yōu)點是:靈活性很高,而且可控性也很好。缺點是:需要特殊配置,專業(yè)要求性比較強。
具體要使用哪種方法,可以依據(jù)自己的能力和項目需要來選擇。最后附上TP3.2的定時任務(wù)配置,這個只需要配置就可以,如果想查看具體實現(xiàn)原理,可以查看/ThinkPHP/Library/Behavior/CronRunBehavior.class.php
第一步:/Application/Common/Conf目錄下新建兩個文件:
分別如:
/Application/Common/Conf/tags.php
/Application/Common/Conf/crons.php
1)?新建?tags.php,編輯內(nèi)容如下:
return?array(
'app_end'?=?array('Behavior\CronRunBehavior'),
);
2)?新建?crons.php?,編輯內(nèi)容如下:
return?array(
'cron_1'?=?array('myplan',?1),
);
第二步:/Application/目錄下新建?Cron文件夾,里面新建文件myplan.php文件
路徑如:/Application/Cron/myplan.php
編輯內(nèi)容如下:
echo?11111;
查看是否運行成功,最簡單的方法是查看/Application/Runtime/~crons.php,這個文件是否存在。
分兩個步驟:
1. PHP程序里實現(xiàn):
根據(jù)當前系統(tǒng)時間,查出超出三天的數(shù)據(jù),并刪除這些數(shù)據(jù);
2. 系統(tǒng)定時任務(wù)執(zhí)行步驟1的PHP程序
如果是Linux系統(tǒng),設(shè)置Crontab任務(wù),每天晚上12點執(zhí)行;
如果是Windows系統(tǒng),設(shè)置計劃任務(wù),每天晚上12點執(zhí)行。