我尝试了以下内容:
<?php
function shutdown_find_exit()
{
exit(50);
}
register_shutdown_function('shutdown_find_exit');
trigger_error("Fatal error", E_USER_ERROR);
?>
但仍然存在错误代码255。
我正在尝试返回错误代码50。
我正在使用以下bash脚本检查它:
php tester.php
status=$?
echo Exit Code: ${status}
根据所有感兴趣的人接受的答案更新代码:
<?php
function shutdown_find_exit()
{
exit('50');
}
register_shutdown_function('shutdown_find_exit');
trigger_error("Fatal error", E_USER_ERROR);
?>
和bash脚本
output="$(php tester.php)"
status=$?
echo Exit Code: ${status}
if [[ $output == *"50"* ]]
then
echo "Got 50";
fi
答案 0 :(得分:1)
如果status是字符串,则此函数仅打印状态 在退出之前。
如果status是整数,则该值将用作退出状态 而不是印刷。退出状态应该在0到254的范围内 退出状态255由PHP保留,不得使用。状态0 用于成功终止程序。
注意:PHP&gt; = 4.2.0如果是整数,则不会打印状态。
variable = $(/path/to/php -f $HOME/path/to/my.php)
例如:
# just executing php, but capturing output then, prints it to console
status = $(/usr/bin/php -f $HOME/path/to/tester.php)
echo Exit Code: ${status}
希望这有帮助。
答案 1 :(得分:1)
看看这是否符合您的要求:
trigger_error("Fatal error", shutdown_find_exit());