本文章總結了php定時執行PHP腳本一些方法總結,有,linux中,windows,php本身的方法,有需要的朋友可參考參考。
linux下定時執行php腳本
執行PHP腳本
方法1
如果你想定時執行某一個PHP腳本 可以直接這樣寫:
*/1 * * * * root -q /bin/local/php /path/to/your/php/script.php (每一分鐘執行一次script.php)
注意,這樣寫需要把PHP變成可執行的腳本文件。在命令行下,腳本所在目錄
chmod +x script.php
crontab+php-cgi 定時執行PHP腳本
1. 在web根目錄創建請求的腳本index.php
我的文件路徑(根據安裝路徑不同有不同路徑):/usr/local/webserver/htdosc/index.php
2. 創建crontab文件
2.1 crontab -e
2.2 * * * * * /usr/local/webserver/php/bin/php-cgi -q /usr/local/webserver/htdosc/index.php
#編輯crond計劃,每分鐘請求index.php
完成,以上步驟完成後,在我的電腦中能正常每分鐘請求index.php
注意事項:
一. /usr/local/webserver/php/ 是我的php安裝路徑
二. php-cgi 是php解析器(我的理解是這樣,總感覺我理解的不對,希望大蝦們指正),有些資料是用./bin/php,我電腦上就不能,所以用php-cgi,可能安裝的方式不對吧。
三. -q 是安靜模式(某些資料中看到的)運行php腳本
四. 有些資料是 把在index.php的首行添加#! /usr/local/webserver/php/bin/php -q ,並對index.php添加執行權限。我沒有這樣做,也能正常請求index.php
最後介紹一個PHP定時執行任務的實現
用到的函數 ignore_user_abort(),set_time_limit(0),sleep($interval)
此代碼只要運行一次後關閉浏覽器即可。
ignore_user_abort();//關掉浏覽器,PHP腳本也可以繼續執行.
set_time_limit(0);// 通過set_time_limit(0)可以讓程序無限制的執行下去
$interval=60*30;// 每隔半小時運行
do{
//這裡是你要執行的代碼
sleep($interval);// 等待5分鐘
}while(true);