2010-05-20 39 views
1

將PHP腳本作爲cron作業運行時,錯誤處理程序有效,但error_log()函數不寫入磁盤。我將這些行包含在通過cron運行的腳本中,這是因爲php.ini值沒有被拾取,但仍然沒有輸出到錯誤日誌中。PHP error_log()在cron作業中不寫入磁盤

ini_set('display_startup_errors', 0); 
ini_set('display_errors', 0); 
ini_set('error_log', LOG_FOLDER . 'error_log.txt'); 

錯誤一般處理工作正常,錯誤消息出現在輸出的cron電子郵件,我得到的。

作爲一種解決方法,我可以通過檢查$ _SERVER,然後使用fopen()等寫入錯誤日誌來檢測腳本是否作爲cron作業運行。但是我希望能夠將它設置正確並且只需使用error_log()。

+0

你確定'LOG_FOLDER'被正確定義?什麼'回聲LOG_FOLDER。 'error_log.txt'產生? – Josh 2010-05-20 14:49:41

+0

你可以重定向cron的輸出。在crontab中: php yourcommand.php&> /path/to/error_log.txt – Cfreak 2010-05-20 14:54:43

+0

我已經打印出LOG_FOLDER,它回顯正確的路徑,是的。 – Kevin 2010-05-20 15:31:58

回答

1

嗯,我剛剛意識到這只是我的錯誤而LOG_FOLDER實際上是不正確的,有一個文件夾丟失。 :)