2011-09-18 219 views
0

感謝您閱讀本文。 我的問題是我不能讓cron運行php腳本。 我不想要這份工作看起來像Cron作業PHP腳本不會運行

* * * * * lynx -dump http://www.somedomain.com/cron.php 
or * * * * * wget http://www.somedomain.com/cron.php, 

因爲這樣一來,按照我的理解將運行的Apache用戶。 相反,我希望此文件具有750(外部不可見)權限,並讓它以用戶user_name的身份運行。 所以,我試圖把設置在/ etc/crontab中:

*/1 * * * * php /var/www/site1/json_renew.php >/dev/null 
or */1 * * * * /usr/bin/php /var/www/site1/json_renew.php 
or */1 * * * * user_name php /var/www/site1/json_renew.php 
or same from $crontab -e. 

但劇本是不會運行,雖然它運行完美, 從命令行運行時:

$ php /var/www/site1/json_renew.php 

謝謝!

+1

如果您想以特定用戶身份運行cron作業,請將其安裝在該用戶的crontab中。您可以登錄到該用戶並運行'crontab -e'。另外,您應該使用PHP的完整路徑,如上面的第二個示例中所示。 –

+0

@邁克爾Mior:感謝您的建議,但不會運行... –

+0

我會作爲根測試,也拿出輸出的夾持和添加一個mailto,看看會發送什麼(如果有的話) – 2011-09-18 23:52:54

回答

0

我有類似的問題,直接訪問網址時腳本運行良好,並且有時會運行,看似隨機。原來這是主機服務器資源問題。當我通過2臺計算機上的Putty通過SSH進行連接時,Hostgator不會運行cron作業。

在他們的幫助頁面中,「SSH訪問限於共享和經銷商計劃中的兩個同時連接注意:配置的任何cron作業都需要這些會話中的一個才能運行,因爲cron作業在同一個作業下運行shell作爲SSH。「

當我關閉SSH連接時,cron作業立即運行。

也許你的房主有類似的規則?