【发布时间】:2011-09-14 09:24:52
【问题描述】:
这个sn-p:
ob_start();
for($i=0;$i<70;$i++)
{
echo 'printing...<br />';
ob_flush();
flush();
usleep(300000);
}
从此页面:http://www.php.net/manual/en/function.flush.php#85382
不适用于安装在 Windows 7 上的 WAMP2(PHP 5.3.0、Apache 2.2.11),使用 IE 8、FF 6.0.2 和 Chrome 13 从 http://localhost 浏览。
他们都没有工作。当页面完成处理时,所有的“正在打印...”行只是在一个瞬间批量输出。
php.ini 中的output_buffering 设置为“开启”。
任何想法为什么它不起作用?
【问题讨论】:
-
@fvu,非常感谢您指出这一点。 ;)
-
您启用了哪些输出缓冲区过滤器?请检查您的配置,例如如果 zlib 正在运行,这可能会发生。
-
在php.net/manual/en/function.ob-flush.php 上讨论了刷新失败的几个原因(例如干扰某些防病毒软件,干扰zlib 压缩,...)。值得一读。
-
@hakre,你是不是这个意思:zlib.output_compression = Off,如果是,就是'Off'。
-
@fvu:请将其添加为答案 :)