欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

php nginx 实时输出的实现方法

程序员文章站 2022-04-14 11:00:59
PHP 里开启实时输出方法是 ob_implicit_flush() , 但它大部分情况下都不管用, 因为 php.ini 配置里 output_buffering 输出缓冲大...
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').'
';

sleep(5);

echo '五秒后:'.date('H:i:s');