从exec动态获取结果

时间:2017-10-10 22:07:02

标签: php

我有一个调用go脚本的php脚本。它每1-2秒获得一次结果,并打印出来。使用php的execoutput,我只在程序结束时得到结果。有没有办法可以检查输出以查看输出何时发生变化并在输出仍在运行时输出?

这样的东西,但暂停执行?:

$return_status = 0;
$output = [];
$old_output = ["SOMETHING ELSE"];
while ($return_status == 0) {
  exec($my_program,$output,$return_status); #somehow pause this?
  if $output != $old_output {
    echo($output);
    $old_output = $output;
  }
}

1 个答案:

答案 0 :(得分:1)

是。使用popen()函数获取命令输出的文件句柄,然后一次读取一行。