我最近编译了一个PHP 5.2.9二进制文件,我试着用它来执行一些PHP脚本。 我可以毫无问题地执行一些脚本,但其中一个中途停止执行,退出时没有任何错误或警告。 进程返回的状态码是255。
我已阅读手册中的这种状态是“保留”的。 问题是:为了什么?
我相信这可能与PHP可执行文件中缺less依赖关系有关,但我无法确定。
任何人都知道退出代码255是什么意思?
PS在PHP脚本中没有错误,在其他机器上运行OK。
255是一个错误,我可以重现相同的退出代码有一个致命的错误。
这意味着你的错误报告是隐藏的,有一些可能的原因:
@
(错误抑制运算符)隐藏了错误的输出 这也可能意味着/etc/php5/cli/php.ini
(在Debian / Ubuntu上)或/etc/php.ini
(在RHEL / CentOS /等上)有display_errors = Off
,这意味着来自命令的任何错误或警告log_errors = On
脚本将无处可去,除非log_errors = On
(另请参阅error_log
设置)。
尝试使用包含脚本的脚本运行脚本,该脚本使用php -d display_errors=on ...
这可能是由于PHP压缩的错误消息(该行以@开头)引起的。 我find了该行
grep -r "@" src/
然后将@注释掉。 之后,我得到了实际的错误,并能够很容易地修复。 后来我也注意到PHPStorm已经发现了同样的错误,但我没有修正/注意到它。
这也意味着这一点
/etc/php5/cli/php.ini(在Debian / Ubuntu上)
/etc/php.ini(在RHEL / CentOS /等)
已经定了
display_errors = Off
这意味着从命令行脚本的任何错误或警告将无处可去,除非
log_errors = On
另请参阅error_log设置。
尝试用包装器来运行你的脚本