popen句柄跨持久连接

时间:2012-05-09 06:47:40

标签: php popen

我正在尝试使用popen执行命令,然后通过AJAX打印出它的进度。我发现这个post非常有帮助,并使AJAX脚本交换工作正常。问题是每次从ajax到test的异步GET时,都会重复popen上的句柄。如果我只运行一次shell,那么句柄不再有效。我无法弄清楚如何让$ handle成为持久的请求。

public function test()
{
      chdir('my dir');
      $handle = popen('make install 2>&1','r');
      echo fread($handle, 2096);


}

一次只会有一个用户请求此....仅用于管理员后端的事情。 AJAX的输出始终是“在src中安装”。

1 个答案:

答案 0 :(得分:2)

你做不到。您必须在后台运行'make install'进程(例如,通过exec())并将其输出重定向到您可以在执行AJAX请求时读取的文件/管道。