php长时间运行脚本

时间:2009-05-19 08:05:23

标签: mercurial php

如何为可能运行一段时间的shell命令提供反馈?

例如,我需要一个执行hg克隆的脚本...然后在我的php中我打电话

exec('hg clone ...', $output, $return_value);

但是在命令实际结束之前我无法获得输出。文档(http://www.php.net/manual/en/function.exec.php)中陈述了

Note: If a program is started with this function, in order for it to continue running in the background, the output of the program must be redirected to a file or another output stream. Failing to do so will cause PHP to hang until the execution of the program ends.

这是否意味着我应该将命令改为类似于

的命令
exec('hg clone 2>&1 $some_file', $output, $return_value);

我是否需要命令背面的&符号才能使其在后台运行?我可以使用信息$ some_file向用户提供反馈吗?

1 个答案:

答案 0 :(得分:1)

POPEN:

http://php.net/popen

PS popen适用于AJAX