2015-06-17 15 views
-1

我已經創建了一個crontabPHP的crontab中沒有顯示

13 10 * * * /usr/bin/php -f /var/www/html/data-capture/public/device_2_app.php >> /var/www/html/data-capture/public/unique_app_tables2.txt 

文本文件顯示所有已迴盪着數據的任何錯誤。但如果任何錯誤在php中生成。它在文本文件中不可見。

我有以下

ini_set('display_errors', 1); 
error_reporting(E_ALL); 

切換如果我直接在它給出了錯誤

Parse error: syntax error, unexpected '$mongodate' (T_VARIABLE) in /var/www/html/data-capture/public/device_2_app.php on line 7 

瀏覽器中運行這個device_2_app.php文件,但沒有錯誤unique_app_tables2.txt可見

+0

你能顯示代碼來檢查 – Ramki

+0

我手動在其中添加了分號錯誤。所以這個錯誤是可見的。 –

+0

這個意見是什麼意思?更新,以便清楚發生了什麼,以及[我的]答案是否有幫助 – fedorqui

回答

0

您正在收到的留言:

Parse error: syntax error, unexpected '$mongodate' (T_VARIABLE) in /var/www/html/data-capture/public/device_2_app.php on line 7

不是標準輸出,而是標準錯誤。

如果你想存儲這個問題,以及,你需要重定向標準錯誤:

13 10 * * * /usr/bin/php -f /var/.../device_2_app.php 2>> /tmp/myerror >> /var/www/html/data-capture/public/unique_app_tables2.txt 
                 ^^^^^^^^^^^^^^^^ 

爲了更好的理解,檢查這些

* * * * * ls /tmp/asdfas >> /tmp/err 
* * * * * ls /tmp/asdfas2 2>> /tmp/err2 

第一個將沒有什麼保存在/tmp/err ,而第二個將因爲stderr被重定向。

延伸閱讀:Logging ALL stderr output of crontab to file