[英]How can I make a cron to execute a php script?
我想在服務器上每五分鍾執行一次php腳本,這是一個單獨運行的php腳本,自從我的瀏覽器和控制台使用“ php -f php_file.php”以來,我都嘗試過。 但是我需要每天自動執行。 我當時在Google上搜索,但要在其中進行搜索,但任何解決方案都對我有用:
首先,我編輯crontab並重新啟動cron以確保它已正確更新。
*/5 * * * * /usr/bin/php /var/www/myscript.php
我也嘗試了以下方法:
*/5 * * * * /usr/bin/php -f /var/www/myscript.php
我也將腳本設為可執行文件,查看系統日志(可以看到我的cron在正確執行,但是它不執行php腳本),並且我還嘗試將cron的輸出重定向到文件,但是它留下了文件為空。 有人可以幫助我嗎?
最好的祝福
通過使腳本可執行,您處於正確的軌道。
如果需要再做一次
$ chmod +x script.php
將此添加到文件的最頂部:
#!/usr/bin/php
<?php
// here goes your script
您可以通過像這樣運行腳本來測試腳本是否執行
$ ./script.php
像下面那樣設置您的cron
作業以設置一些日志記錄,但是請確保從腳本中輸出某些內容,使用print
或echo
和相關的消息。
*/5 * * * * /var/www/script.php >> /var/www/script.log 2>&1
我們將標准輸出和錯誤都重定向到script.log
文件中。
每5分鍾檢查一次活動。
更新:
在您的php腳本中嘗試一下
$file = '/var/www/script.txt';
for($i=0;$i<9;$i++){
$entry = date("Y-m-d H:i:s") . " " . $i . PHP_EOL;
echo $entry; // this should write to the log file
file_put_contents($file, $entry, FILE_APPEND | LOCK_EX);
// and this should write to the script.txt file
}
基本上,我們提供了文件的完整路徑並傳遞了FILE_APPEND
標志,因此我們不會每次都覆蓋。
運行腳本並檢查是否已創建文件,默認行為是創建文件(如果不存在)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.