死状态代码与正常状态代码

时间:2014-02-10 13:15:22

标签: php

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)
}

有没有更好的方法来获取状态代码?

1 个答案:

答案 0 :(得分:0)

状态代码就是asynchronous_script.php输出的内容。 dieexit的别名。

只需使用 exit(<your_status_code>);

您应该使用适当的STDOUTSTDERR

echo json_encode(array('status' => true, 'msg' => 'successfully blabla'));
exit(0);

来自http://php.net/exit

  

如果status是字符串,则此函数在退出之前打印状态。   如果status是整数,则该值将用作退出状态而不打印。退出状态应在0到254之间,   退出状态255由PHP保留,不得使用。该   status 0用于成功终止程序。

回答你的意见:

您可以忽略状态代码或尝试实现关闭处理程序:

www.php.net/manual/en/function.register-shutdown-function.php