我正在使用运行命令行PHP脚本的程序。 PHP脚本一直在抛出异常,但是该程序一直在看到退出代码0(并且没有检查异常)。
答案 0 :(得分:4)
在发生异常的情况下,返回状态代码为255。您可以使用简单的脚本在bash内对其进行简单测试。
exc.php
<?php throw new Exception();
然后运行
php exc.php
echo $? //prints 255
但是,请记住,这仅在未定义自己的异常处理程序时才有效。如果定义了自己的处理程序,则必须在异常处理程序内部手动返回返回代码。
exc2.php
<?php
set_exception_handler(function() {});
throw new Exception();
返回状态码0
。如果您需要状态码,请使用exit
<?php
set_exception_handler(function() {
exit(42);
});
throw new Exception("","","");
现在脚本返回状态代码42