如何从PHP禁用nginx 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相关文章