输出缓冲问题 - PHP

时间:2010-08-02 07:46:11

标签: php

ob_start();

for($i=0; $i < 10; $i++) {     
  echo $i, ' '; 
  ob_flush(); 
  flush(); 
  sleep(1); 
}

预期:0, 1, 2, 3, 4, 5, 6, 7, 8, 9每秒在浏览器中逐渐显示。

结果:0, 1, 2, 3, 4, 5, 6, 7, 8, 9在10秒后立即显示。

我无法让输出缓冲工作。

2 个答案:

答案 0 :(得分:0)

我相信它是特定版本的PHP中的一个错误,解决方案可以在这里找到......

http://www.php.net/manual/en/function.ob-flush.php#85383

答案 1 :(得分:0)

我遇到了完全相同的问题,这似乎不是PHP中的错误,这些日子只是浏览器的一个问题。 (虽然它可能是Web服务器中的一些压缩选项)
正如this comment中所述,浏览器现在似乎采用了全有或全无的方法来输出缓冲。