php 禁用 gzip,如何从PHP禁用nginx gzip?

我打算阻止nginx从gzip压缩单个PHP请求.我已经有以下内容:

@ini_set('zlib.output_compression', 'Off');

@ini_set('implicit_flush', 1);

header('X-Accel-Buffering: no');

根据我发现的所有信息,仅X-Accel-Buffering应当禁用gzip,但是当我从浏览器加载此页面时,仍然可以看到标题:

Content-Encoding:gzip

我正在使用php7-fpm,nginx 1.10.1,debian8

编辑:

我使用sleep()进行了测试以延迟输出.看起来像header(‘X-Accel-Buffering:no’);是有效的,但是它只能防止缓冲而不是gziping.我猜gzipping正在某种程度上作为流工作.

我可以看到,如果我输出1,000个字节,并在每个回显语句(每个字符有1个字符)上循环,则浏览器将收到大约11kb的字节.如果我回显str_rep x 1000,则发送的数据少得多.那里一定有一些开销.

无论如何,我都需要禁用gzip以便发送大量内容并测量下载时间.如果压缩了,我不知道实际的吞吐量是多少.

解决方法:

如果在答案中找到Content-Encoding标头,则Nginx将不会运行gzip过滤器.因此,您可以在后端设置Content-Encoding:Identity头,nginx会将其传递给客户端,而无需进行gzip处理.身份表示“未编码”.

标签:nginx,gzip,php

来源: https://codeday.me/bug/20191026/1936590.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值