Php CronTab未显示任何错误

Php CronTab未显示任何错误,php,ubuntu,cron,crontab,Php,Ubuntu,Cron,Crontab,我已经创建了一个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); erro

我已经创建了一个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);
如果我直接在浏览器中运行这个device_2_app.php文件,就会出现错误

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

但在您收到的消息的unique_app_tables2.txt中看不到任何错误:

分析错误:语法错误,中出现意外的“$mongodate”(T_变量) /var/www/html/data capture/public/device_2_app.php,第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被重定向


进一步阅读:。

您能显示要检查的代码吗?我已手动在其中添加了分号错误。所以错误是可见的。你这句话是什么意思?更新,以便清楚发生了什么以及[我的]答案是否有帮助