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()。
你確定'LOG_FOLDER'被正確定義?什麼'回聲LOG_FOLDER。 'error_log.txt'產生? – Josh 2010-05-20 14:49:41
你可以重定向cron的輸出。在crontab中: php yourcommand.php&> /path/to/error_log.txt – Cfreak 2010-05-20 14:54:43
我已經打印出LOG_FOLDER,它回顯正確的路徑,是的。 – Kevin 2010-05-20 15:31:58