PHP打破输出刷新/睡眠

时间:2017-02-23 16:54:07

标签: php flush output-buffering

所以我有这段代码:

@ini_set("output_buffering", "Off");
@ini_set('implicit_flush', 1);
@ini_set('zlib.output_compression', 0);
@ini_set('max_execution_time',1500);
header( 'Content-type: text/html; charset=utf-8' );
header("Cache-Control: no-cache, must-revalidate");
header('X-Accel-Buffering: no');

〜剪断〜

echo "Number Echos<br />"; // echo
for ($i = 0; $i < 42; $i++) { // send 41
  echo "Number". $i ." sent!<br>"; // echo this * the above
  if(sleep(4)!=0) 
  {
    echo "Error"; 
    break;
  }
  flush();
  ob_flush();
}

代码工作正常,直到大约2周前。现在代码超时了。如果我删除它flush()然后将上面的内容作为一个块输出后加载全部(IE等待然后一次输出全部41而不是1)。任何指导我正确方向的帮助将不胜感激。

Apache Version 2.2.29 PHP Version 5.4.35

0 个答案:

没有答案