Centos

在 CentOS 6.4 中使用 CronJobs 執行 PHP 不起作用?

  • May 1, 2014

所以我現在花了大約 2-3 個小時,有時也進行了研究,我在網上發現了幾個相同的回复,但似乎沒有一個有效!

我試圖每分鐘執行一個 PHP 腳本(作為測試),但它不起作用。

這是 /etc/crontab 中的 crontab 老實說,我看不出那個腳本有什麼問題。所以我去檢查日誌,我明白了;

5 月 1 日 19:59:01 namehere crond

$$ 1112 $$: ( system ) RELOAD (/etc/crontab) May 1 19:59:01 namehere crond$$ 1112 $$: (CRON) 錯誤的使用者名 (/etc/crontab)

我很困惑,任何幫助將不勝感激!

如果這很重要,我已經安裝了 LAMP 和 php-cli。

編輯:

我終於讓它執行了!感謝下面的海報!但是,我現在有另一個問題,我收到了一個錯誤電子郵件 在此處輸入圖像描述 我的腳本包含其他腳本,當我在 cPanel(共享主機)上時,它執行良好,但現在它沒有,可能是什麼問題?

您似乎有某個版本的 cron 需要user-name在命令之前有一個參數。它甚至在標題中,只是有點隱蔽

*  *  *  *  * <user-name> <command to be executed>

試試這個(用執行 php/apache 的任何使用者替換 root):

* * * * * root /usr/bin/php /var/www/html/directory/file.php

另外,請注意,某些發行版具有單獨的php.ini配置,具體取決於它是通過命令行 (cli) 使用還是作為 apache 模組等使用。因此,如果您遇到更多問題,請確保您的php.ini文件匹配(檢查/etc/php)。

更新

要使用絕對路徑,請讓您的包含如下:

include __FILE__ . '../inc/databases.php';

注意添加__FILE__的返回目前執行腳本的絕對路徑。您將必須更新所有includerequire.

引用自:https://unix.stackexchange.com/questions/127470