簡體   English   中英

我如何使Cron執行php腳本?

[英]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作業以設置一些日志記錄,但是請確保從腳本中輸出某些內容,使用printecho和相關的消息。

*/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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM