2015-01-15 192 views
0

我有一些可執行的PHP代碼,我嘗試使用cron作業來實現。該頁面發送幾封電子郵件。當我在我的URL欄中輸入地址並加載頁面時(這個URL類似於www.mysite.com/mypage.php),它工作得很好,但由於某種原因,當我做它作爲一個cron工作。我有雙重檢查權限和文件是可執行的,所以這不是問題。我收到一封確認cron作業已完成的電子郵件,但應該由程序發送的電子郵件未通過。這是我在crontabs的代碼:使用cron作業運行PHP代碼

SHELL= /bin/bash/ 
HOME =/
MAILTO = "[email protected]" 
* * * * * /usr/bin/php /usr/share/nginx/html/mypage.php 

任何想法,爲什麼這可能不工作?


編輯關於權限:可能相關:我通過鍵入'sudo crontab -e'編輯cron作業。我能夠成功地創建另一個只需發送電子郵件給我的cron作業。但是,我嘗試在sudo中設置另一個純文本電子郵件cron作業(即鍵入'crontab -e'),但這不起作用。我沒有收到任何電子郵件。當我輸入'crontab -e'時,我也遇到了一個錯誤,關於它無法讀取.nano_history和權限被拒絕,但我可以通過按回車來繞過該錯誤

+3

它通過命令行正常工作,如果你運行'在/ usr/bin中/ PHP的/ usr /共享/ nginx的/ HTML/mypage.php' –

+0

完整的錯誤報告和登錄 –

+0

有時PHP命令行可以成爲不同的版本或使用不同的php.ini而不是Web服務的PHP。 – mopo922

回答

0

檢查wget是否安裝在您的服務器上。它應該是。然後使用wget從cron選項卡調用您的程序。這樣你就不必擔心從命令行調用php。

wget http://999.999.99.9/hr/stats/send_stats.php?task=first