在web应用中需要PHP页面实时输出结果,在正常环境正常工作的测试代码如下:

<?php
header('Content-type: text/html; charset=utf-8');
echo 'Begin ...<br />';
for( $i = 0 ; $i < 10 ; $i++ )
{
    echo $i . '<br />';
    flush();
    sleep(1);
}
echo 'End ...<br />';
?>

nginx环境配置
对于nginx环境,需要在配置文件中增加以下配置:
fastcgi_buffering off;
可能还要删掉以下几行配置(如果有的话):
fastcgi_buffer_size 64k;
fastcgi_buffers 4 64k;
fastcgi_busy_buffers_size 128k;
fastcgi_temp_file_write_size 256k;

PHP环境设置
宝塔设置当中需要修改保存2处。

1、PHI.INI 文件设置
PHP.INI
搜索
output_buffering = 4096

修改成
output buffering = off
;output_buffering = 4096
保存完成后,记得重启。

2、网站设置
点击网站(就是可以进入配置SSL证书的地方,用过宝塔的 应该都清楚) 进入宝塔设置 找到

location / {

# 关闭缓冲

fastcgi_buffering off;
#如果是反向代理的关闭
proxy_buffering off;
}

详细的 请参考 群内 天龙 设计大哥的截图。

实际要设置保存处理 3处, 切记! 保存成功后 记得重启 Nginx 和PHP环境,这样才能生效。

Last modification:November 16, 2023
如果觉得我的文章对你有用,请随意赞赏