【问题标题】:ob_flush(), flush() not working from WAMP2 on Windows 7ob_flush()、flush() 在 Windows 7 上无法从 WAMP2 工作
【发布时间】: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:请将其添加为答案 :)

标签: php buffer flush


【解决方案1】:

the ob_flush() documentation page 讨论了刷新失败的几个原因(例如干扰某些防病毒软件,干扰 zlib 压缩,...)。值得一读。

【讨论】:

    【解决方案2】:

    您可能需要关闭会话:

    echo 'printing...<br />';
    
    session_write_close();
    
    ob_flush();
    flush();
    

    【讨论】:

      猜你喜欢
      • 2011-05-27
      • 2015-12-08
      • 2019-01-09
      • 1970-01-01
      • 2011-05-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多