PHP 里开启实时输出方法是ob_implicit_flush()
,
但它大部分状况下都无论用,php
由于php.ini
配置里output_buffering
输出缓冲大部分是On
开启的,
还有zlib.output_compression
也常常会被开启,服务器
除了 PHP 这一层,还有 Nginx 的缓冲设置proxy_buffering
,和压缩gzip
也大都是开启的。
为了一两个页面的需求,修改整个服务器的网站配置,恐怕没有人会作这种选择。网站
这里推荐一下简单的方法:code
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');