PHP 退出状态 255:这是什么意思?

Sil*_*ini 34 php php5

我最近编译了一个PHP 5.2.9二进制文件,并尝试用它执行一些 PHP 脚本。我可以毫无问题地执行一些脚本,但其中一个脚本在中途停止执行,退出时没有错误或警告。进程返回的状态码为255。

我在手册中读到这种状态是“保留”的。问题是:为了什么?

我相信这与 PHP 可执行文件中缺少依赖项有关,但我不能确定。

有人知道退出代码 255 是什么意思吗?

PS PHP 脚本中没有错误,它们在其他机器上运行正常。

Web*_*ide 38

255是一个错误,我可以通过出现致命错误来重现相同的退出代码。

这意味着以某种方式隐藏了您的错误报告,有一些可能的原因:

  • error_reporting 未定义,php 根本没有报告错误
  • 一个@(错误抑制运算符)隐藏错误的输出
  • STDERR 被重定向到其他地方(php -f somefile.php 2>/dev/null,去掉重定向)
  • 由于缺少依赖项,这仍然可能是内部错误,并且致命错误与程序崩溃具有相同的退出代码。


Ala*_*ine 12

这也可能意味着/etc/php5/cli/php.ini(在 Debian/Ubuntu 上)或/etc/php.ini(在 RHEL/CentOS/etc. 上)display_errors = Off意味着来自命令行脚本的任何错误或警告都将无处可去,除非log_errors = On(另请参阅error_log设置)。

尝试使用使用的包装脚本运行您的脚本 php -d display_errors=on ...

  • 我只想对 `-d display_errors=on` 提示表示感谢 - 我试图为某人的 PHP 应用程序调试一个自定义脚本,该脚本试图自行处理所有异常日志记录,但经常吃异常。使用该标志,我可以获得打印到 CLI 的异常! (4认同)