本文目錄一覽:
- 1、windows定時執行php文件裡面的sql
- 2、如何使用Linux的Crontab定時執行PHP腳本的方法
- 3、如何使用Ubuntu中的Crontab定時執行PHP文件
- 4、php如何實現定時任務,php定時任務方法,最佳
- 5、php定時執行任務怎麼寫?
- 6、linux定時任務能執行php文件嗎
windows定時執行php文件裡面的sql
很少會在win下執行定時任務,如果環境必須,那麼可以用windows的計劃任務,用bat去執行:
1、寫一個PHP程序,命名為test.php,內容如下所示:
?
$fp = fopen(“test.txt”, “a+”);
fwrite($fp, date(“Y-m-d H:i:s”) . ” 成功成功了!\n”);
fclose($fp);
?
程序大膽地寫,什麼include\require儘管用,都沒問題,盡量注意文件路徑問題
2、新建Bat文件,命名為test.bat,內容如下所示:
D:\php\php.exe -q D:\website\test.php
//相應目錄自己改上
3、建立WINDOWS計劃任務:
開始–控制面板–任務計劃–添加任務計劃
瀏覽文件夾選擇上面的bat文件
設置時間和密碼(登陸WINDOWS的)
保存即可了。
4、over! 可以右鍵計劃任務點「運行」試試
如何使用Linux的Crontab定時執行PHP腳本的方法
我們先從相對比較複雜的伺服器執行php談起。伺服器上安裝了php,就可以執行php文件,無論是否安裝了nginx或Apache這樣的伺服器環境軟體。而Linux中,使用命令行,用CronTab來定時任務,又是絕佳的選擇,而且也是效率最高的選擇。首先,進入命令行模式。作為伺服器的linux一般都默認進入命令行模式的,當然,我們管理伺服器也一般通過putty等工具遠程連接到伺服器,為了方便,我們用root用戶登錄。在命令行中鍵入:
crontab -e
之後就會打開一個文件,並且是非編輯狀態,則是vi的編輯界面,通過敲鍵盤上的i,進入編輯模式,就可以編輯內容。這個文件中的每一行就是一個定時任務,我們新建一行,就是新建一條定時任務(當然是指這一行內按照一定的格式進行書寫)。我們現在來舉個例子,增加一行,內容如下:
00 * ** * lynx -dump
這是什麼意思呢?實際上上面這一行由兩部分組成,前面一部分是時間,後面一部分是操作內容。例如上面這個,
00 * ** *
就是指噹噹前時間的分鐘數為00時,執行該定時任務。時間部分由5個時間參數組成,分別是:
分 時 日 月 周
第1列表示分鐘1~59 每分鐘用或者 */1表示,/n表示每n分鐘,例如*/8就是每8分鐘的意思,下面也是類推
第2列表示小時1~23(0表示0點)
第3列表示日期1~31
第4列表示月份1~12
第5列標識號星期0~6(0表示星期天)
整個句子的後面部分就是操作的具體內容。
如何使用Ubuntu中的Crontab定時執行PHP文件
先確認自己在LINUX Ubuntu 伺服器上php的安裝模式,以CGI 模塊還是Apache模塊方式安裝? 如果不確定php安裝模式,可以使用 phpinfo() 函數查看:將?php phpinfo(); ? 寫在php文件中上傳到網站伺服器,訪問該頁面,就在頁面頂部我們找到「Server API」,如果類似「Apache 2.0 Handler」,那麼就是apache模塊;否則php是CGI 模式(shell 命令行模式)。這兩種不同的php安裝模式,正對應於前面介紹的ubuntu crontab 定時執行php的兩種解決方法。
CGI 編譯
如果Server API是cgi,那麼在需要cron執行的php腳本的第一行額外加入一段代碼#!/usr/bin/php -q(類似PERL語法),指定伺服器中php可執行程序的位置,具體步驟如下:
1. 確認Ubuntu系統已經安裝了php5-cli模塊,安裝命令:apt-get install php5-cli。在目錄 /usr/bin/php下生成 php可執行程序。
2. 編輯待定時執行的php腳本文件crontab.php,如:
#!/usr/bin/php -q
?php
$file = 「/var/www/」.date(『H』).』_』.date(『i』).』_』.date(『s』).』.txt』;
file_put_contents($file,date(『Y-m-d』));
?
3. 編輯 crontab 任務:
打開終端,輸入命令:crontab -e,
Select an editor. To change later, run 『select-editor』.
1. /bin/ed
2. /bin/nano —- easiest
3. /usr/bin/vim.tiny
選擇一個Ubuntu編輯器後,編輯/tmp/crontab.AuN7IQ/crontab 文件:
# m h dom mon dow command
在下面添加定時執行命令:
* * * * * php /path/to/your/cron.php
5個星號分別代表定時指定每分、小時、日、月、周。如每天的下午7點執行crontab.php,命令為:
* 19 * * * php /var/www/cron/crontab.php
然後按Ctrl+O保存,Ctrl+X退出。
4. 執行以下Crontab命令行
Shell crontab crontab
確認crontab.php的許可權為可執行(”chmod 755 /var/www/cron/crontab.php”)。
Apache 模塊
如果php安裝是以 apache 模式運行的,那麼在要在ubuntu伺服器定時執行的php腳本開頭就不用加 #!/usr/bin/php -q 這一行。php腳本在ubuntu 通過crontab的定時執行通過Lynx瀏覽器的自動訪問來完成。
1. Lynx瀏覽器安裝。
Lynx瀏覽器是一款輕便的web瀏覽器,使用於大部分Unix 和Linux系統環境。安裝命令:sudo apt-get install lynx。
2. 編輯cron任務,命令crontab -e
php如何實現定時任務,php定時任務方法,最佳
PHP製作定時任務(也稱計劃任務)的方法,大概分為2種:
現在基本所有的PHP框架,如:ThinkPHP,Yii,Laravel等等;它們都是單入口的形式,也就是說所有的請求都集合到index.php中,然後再由框架核心來根據請求參數的不同來分配到不同的控制器當中。基於單入口的形式,那麼就可以做基於行為(例如TP3.2)或者說基於事件的定時任務。
系統自動的定時任務,比如Linux的crontab,windows的計劃任務等。
兩中方法各有所長各有所短
基於事件:這種利用的是框架本身提供的一些行為來實現,優點是:不需要特殊配置,只要項目能跑起來,那麼定時任務也能執行。缺點是:靈活性比較差,必須要藉助框架實現。
基於系統:基於操作系統來實現,優點是:靈活性很高,而且可控性也很好。缺點是:需要特殊配置,專業要求性比較強。
具體要使用哪種方法,可以依據自己的能力和項目需要來選擇。最後附上TP3.2的定時任務配置,這個只需要配置就可以,如果想查看具體實現原理,可以查看/ThinkPHP/Library/Behavior/CronRunBehavior.class.php
第一步:/Application/Common/Conf目錄下新建兩個文件:
分別如:
/Application/Common/Conf/tags.php
/Application/Common/Conf/crons.php
1) 新建 tags.php,編輯內容如下:
return array(
‘app_end’ = array(‘Behavior\CronRunBehavior’),
);
2) 新建 crons.php ,編輯內容如下:
return array(
‘cron_1’ = array(‘myplan’, 1),
);
第二步:/Application/目錄下新建 Cron文件夾,裡面新建文件myplan.php文件
路徑如:/Application/Cron/myplan.php
編輯內容如下:
echo 11111;
查看是否運行成功,最簡單的方法是查看/Application/Runtime/~crons.php,這個文件是否存在。
php定時執行任務怎麼寫?
藉助crontab來編寫;
編寫定時執行腳本(單獨的一個php文件,或者某個方法);
配置crontab,指定執行路徑地址;
啟動crontab服務即可。
linux定時任務能執行php文件嗎
可以的,將php的安裝目錄設為
環境變數
,在
定時任務
寫
php
php路徑/php文件.php設定好執行時間,就可以執行了。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/286385.html