【发布时间】:2016-04-05 14:26:13
【问题描述】:
我正在运行一个循环,在回合结束后使用 proc_open 执行相同的应用程序,如下所示:
$description = array(
0 => array("pipe", "r"),
1 => array("pipe", "w"),
2 => array("file", "proc_open_errors", "a+")
);
$command = "start /min php $operador_php";
$process = proc_open($command, $description, $pipe);
if (is_resource($process)) {
print_r($process);
sleep(5);
fclose($pipe[0]);
fclose($pipe[1]);
$process_response = proc_close($process);
echo $process_response;
}
我遇到的问题是,运行几个小时后,其中一个执行可能会在中间失败,从而破坏整个循环。它会自行关闭(在 Windows 上),所以我看不出问题出在哪里。
有什么方法可以防止 PHP CLI 在出现问题时自行关闭?还是我应该使用一系列“if /else”来检查执行过程中是否有任何问题?还有什么想法吗?
【问题讨论】:
-
在我的项目中,对于每个 proc,都会生成一个包含每个控制台输出的新日志文件。您应该考虑这一点。
-
是的,我认为这是我最好的选择......这也是 Dan Farrell 的提议。 "> output.txt 非常感谢!
标签: php command-line-interface proc-open