FILE 1.php:
$cmd = 'php asynchronous_script.php -p 1';
$exitCode = 0;
$output = '';
exec($cmd, $output, $exitCode);
echo "\n\n";
echo $exitCode;
print_r($output);
FILE asynchronous_script.php:
<?
die("**");
当我运行1.php时,我的状态代码为0
。
0是正常执行的状态代码。
那么我们如何区分die
状态代码与正常状态代码?
我想到的一个解决方案是用die_with_status_code()
替换die
并实施:
function die_with_status_code()
{
exit(100)
}
有没有更好的方法来获取状态代码?
答案 0 :(得分:0)
状态代码就是asynchronous_script.php输出的内容。 die
是exit
的别名。
只需使用 exit(<your_status_code>)
;
您应该使用适当的STDOUT
和STDERR
。
echo json_encode(array('status' => true, 'msg' => 'successfully blabla'));
exit(0);
如果status是字符串,则此函数在退出之前打印状态。 如果status是整数,则该值将用作退出状态而不打印。退出状态应在0到254之间, 退出状态255由PHP保留,不得使用。该 status 0用于成功终止程序。
回答你的意见:
您可以忽略状态代码或尝试实现关闭处理程序:
www.php.net/manual/en/function.register-shutdown-function.php