有没有办法通过exec($cmd, $output, $exitCode)在后台运行一个php脚本并获取其退出状态码?
例如:
exec('php script.php &', $output, $exitCode);
如果没有包含结尾的“&”,那么$exitCode将按预期工作,否则它始终为0。
有没有办法通过exec($cmd, $output, $exitCode)在后台运行一个php脚本并获取其退出状态码?
例如:
exec('php script.php &', $output, $exitCode);
如果有人看到这里,我的解决方案是编写一个以脚本为参数的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) {
...
}
&
吗?这意味着你在任何情况下都没有运行后台进程?你可能想要在后台运行第一个脚本... 可能。 - Khez我找到了一种可能与Pradeep的解决方案相当的东西。 有人在该函数的文档页面上发布了相关信息。 http://www.php.net/manual/en/function.exec.php#101506