PHP教程

[PHP] 如何让 php-fpm 的循环 echo 实时输出到浏览器

本文主要是介绍[PHP] 如何让 php-fpm 的循环 echo 实时输出到浏览器,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

 

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');

 

Refer:php-fpm 实时输出

Link:https://www.cnblogs.com/farwish/p/15946898.html

这篇关于[PHP] 如何让 php-fpm 的循环 echo 实时输出到浏览器的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!