请考虑以下代码段:
$handle = popen("some command that generates an infinite stream of output to stdout", "r");
while ($line = fgets($handle)) {
echo $line;
sleep(3);
}
我的问题是:在睡眠期间实际发生了什么(3)并且传递给popen()的命令仍在喷出输出?这是缓冲到PHP的内存吗?
输出是否有可能被删除?
答案 0 :(得分:1)
它依赖于操作系统。可以缓冲数据,可以阻止其他程序的输出调用,或者它们的某种组合。