本文主要和大家介绍php nginx 实时输出的简单实现方法,非常不错,具有参考借鉴价值,希望能帮助到大家。
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');