【问题标题】:Php CronTab not showing any errorsPhp CronTab 没有显示任何错误
【发布时间】:2015-06-17 18:45:49
【问题描述】:

我已经创建了一个 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

中看不到任何错误

【问题讨论】:

  • 你能出示代码来检查吗
  • 我在里面手动添加了分号错误。使错误可见。
  • 这个评论是什么意思?更新,以便清楚发生了什么以及[我的]回答是否有帮助

标签: php ubuntu cron crontab


【解决方案1】:

您收到的消息:

解析错误:语法错误,意外的 '$mongodate' (T_VARIABLE) in /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 被重定向。

延伸阅读:Logging ALL stderr output of crontab to file.

【讨论】:

    猜你喜欢
    • 2011-02-08
    • 2013-01-03
    • 1970-01-01
    • 2020-04-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多