nginx中php 解决ob_flush和flush不起作用

文章详细介绍了如何通过修改Nginx配置文件(如关闭gzip压缩,调整服务器块中的proxy_buffering和fastcgi_keep_conn设置)以及修改php.ini(关闭output_buffering)来配合PHP代码实现字符逐个延迟输出的效果,用于优化特定场景下的性能。
摘要由CSDN通过智能技术生成

【nginx.conf中确认以下配置】

http {

......

gzip off;

    server {

        location ~ \.php$ {

            ......

            proxy_buffering off;
            fastcgi_keep_conn on;

        }

    }

......

}

【php.ini中确认以下配置】

output_buffering = off

【PHP代码】

$str = '这里是一句话,要一个字一个字的输出。';
ob_end_clean();
for ($i = 0; $i < $str, 'UTF8'); $i++) {
	echo mb_substr($str, $i, 1);
	ob_flush();
	flush();
	// 5毫秒
	usleep(50000);
}
ob_end_flush();

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
解决"324 err_empty_response"错误的一个常见方法是使用NginxPHP设置正确的配置。以下是使用NginxPHP解决此错误的步骤: 1. 确认NginxPHP均已正确安装并正在运行。 2. 打开Nginx的配置文件(通常位于/etc/nginx/nginx.conf),确保以下配置开启: ``` http { ... client_max_body_size 100M; # 这将设置允许的最大请求体大小 ... } ``` 3. 在Nginx的配置文件,找到与PHP相关的配置部分(通常位于/etc/nginx/fastcgi_params文件)。将以下指令添加到该部分: ``` fastcgi_buffers 16 16k; fastcgi_buffer_size 32k; fastcgi_connect_timeout 300s; fastcgi_send_timeout 300s; fastcgi_read_timeout 300s; ``` 4. 重启Nginx服务器以使配置生效。 5. 如果您的网站使用了PHP框架或CMS(例如WordPress),请确保其PHP.ini文件也设置了合适的配置。打开PHP.ini文件,将以下指令添加或修改为适当的值: ``` memory_limit = 512M post_max_size = 100M upload_max_filesize = 100M max_execution_time = 300 max_input_time = 300 ``` 6. 保存PHP.ini文件并重启PHP服务。 通过对NginxPHP的配置进行适当调整,可以避免或解决"324 err_empty_response"错误。这些配置调整包括增大请求体大小限制、调整FastCGI缓冲区大小和超时时间、以及增大PHP内存限制和上传文件大小限制等。这些配置调整将确保NginxPHP能够正确处理请求并返回响应,从而解决"324 err_empty_response"错误。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值