【发布时间】:2017-04-06 15:31:07
【问题描述】:
由于两天我试图停止服务器上的缓冲区,我禁用了 php.ini 中的 output_buffering 我检查了它是否被 phpinfo() 禁用。
在 xampp(Localhost) 下它就像一个魅力,相同的测试代码(下),代码运行无需等待一切完成,没有缓冲区,梦想 =)
在我的服务器上,output_buffering 在phpinfo() 中显示No value,所以我认为它已被禁用,但它仍然无法正常工作,我需要等到循环完成他的工作,无论如何要让这项工作像在我的 xampp 上一样配置?谢谢!
在这里测试代码:
for($i=1; $i<=5000; $i++){
echo $i."<br>";
flush();
usleep(1000);
}
ps:我在 Debian 和 Ubuntu 上使用 php 5.6 和 php7 进行了测试,我的 xampp 自然运行在 windows(10) 上
【问题讨论】:
-
如果你想要这种浏览器交互,你应该使用客户端代码
-
How to flush output after each `echo` call? 的可能重复项。查看第二个答案,该答案似乎通过发送内容类型标头来解决。