PHP 里开启实时输出方法是ob_implicit_flush()
,
但它大部分情况下都不管用,
因为php.ini
配置里output_buffering
输出缓冲大部分是On
开启的,
还有zlib.output_compression
也经常会被开启,
除了 PHP 这一层,还有 Nginx 的缓冲设置proxy_buffering
,和压缩gzip
也大都是开启的。
为了一两个页面的需求,修改整个服务器的网站配置,恐怕没有人会做这种选择。
这里推荐一下简单的方法:
set_time_limit(0);
ob_end_clean();
ob_implicit_flush();
header('X-Accel-Buffering: no'); // 关键是加了这一行。
echo '现在是:'.date('H:i:s').'<br>';
sleep(5);
echo '五秒后:'.date('H:i:s');
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。