【发布时间】:2016-06-06 13:23:21
【问题描述】:
我有一个通过 exec 函数从其他 php 脚本运行的 php 脚本:
exec("php /home/www/someScript.php 1>> /home/www/log.txt 2>&1");
log.txt 仅包含以下错误消息以防出错:
ERROR: the server encountered an internal error and was unable to complete your request.
但是当我使用 CLI 中完全相同的命令手动运行它时,我得到以下信息(和正确的输出):
PHP Fatal error: Call to a member function toArray() on a non-object in /home/www/someScript.php on line 50
ERROR: the server encountered an internal error and was unable to complete your request.
致命错误抑制的原因是什么,如何正确输出到日志中?
谢谢。
【问题讨论】:
-
你为什么要以上帝的名义这样做?我的意思是,为什么不直接使用
include? -
@HenriqueBarcelos 它是独立的脚本,例如也可以从 crontab 运行。
-
顺便说一下,你应该从你的“someScript.php”文件中发布代码,否则我们帮不了你。
-
不管它是独立的,在PHP中使用
exec来调用另一个PHP脚本是没有意义的。 -
@HenriqueBarcelos 包含脚本中的错误会杀死主要脚本。我不希望这样,这很容易单独记录。无论我是从 cron 还是通过 exec 手动运行它,我都希望行为是相同的。
标签: php error-handling command-line-interface