在php中获取脚本退出状态代码

时间:2010-12-30 17:52:40

标签: php exit-code

是否有通过exec($ cmd,$ output,$ exitCode)在后台运行php脚本的退出状态代码?

例如:

exec('php script.php &', $output, $exitCode); 

如果尾随'&'不包含然后$ exitCode按预期工作,否则它总是0。

2 个答案:

答案 0 :(得分:5)

我发现了一些可能与Pradeep解决方案完全相同的东西。有人在函数的文档页面上发布了这个。 http://www.php.net/manual/en/function.exec.php#101506

答案 1 :(得分:4)

对于任何发现自己的人来说,我的解决方案是制作一个以脚本为参数的php脚本。新脚本被调用到后台并适当地处理退出状态。

例如:

$cmd = 'php asynchronous_script.php -p 1';
exec("php script_executor.php -c'$cmd' &");

第二个脚本看起来像

$opts = getOpt('c:');
$cmd = rtrim($opts['c'], '&');
$exitCode = 0;
$output = '';

exec($cmd, $output, $exitCode);

if ($exitCode > 0) {
 ...
}