我编写并编译了一个运行大约10分钟的命令行程序(abc.exe),进行一些计算并每10秒输出1行结果,如下所示:
C:\>abc.exe
Result 1
Result 2
Result 3
.
.
.
以下php脚本理论上应该实时显示这些结果,因为它们是由程序生成的。
<?php
$a = popen('abc.exe', 'r');
while($b = fgets($a)) {
echo $b."<br>\n";
ob_flush();flush();
}
pclose($a);
?>
但是,我只是在程序执行结束时得到所有结果。为什么会发生这种情况?
请注意,如果我将abc.exe
替换为ping 8.8.8.8
或tracert 8.8.8.8
,则该脚本就像魅力一样。请帮助我,我已尝试过类似问题中提出的所有内容,但似乎没有任何效果!