我的NGinx和PHP安装程序中发生了一个特殊的问题。
我的测试网址:http://104.194.26.13:2002/a.php
我正在使用PHP与NGinx(FCGI)。压缩我正在使用的数据:
<?php
ob_start('ob_gzhandler');
phpinfo();
?>
通过浏览器访问时显示:
Vary: Accept-Encoding
但是没有内容编码,Firebug中显示的下载数据的大小是非压缩数据的大小。
使用curl从CLI访问时:
curl -H "Accept-Encoding: gzip" "http://104.194.26.13:2002/a.php"
有一些gbiresh字符暗示它确实编码。如果使用上述命令保存输出,则通过浏览器访问时,大小为17.5 KB而不是75 KB。
以下是从我的a.php文件收到的完整标题:
Connection: keep-alive
Content-Length: 75550
Content-Type: text/html
Date: Fri, 15 Jan 2016 05:37:43 GMT
Server: nginx
Vary: Accept-Encoding
X-Powered-By: PHP/5.5.27
可能出现什么问题?
答案 0 :(得分:0)
您使用的是哪种浏览器,因为Chrome 47.0.2526.106 m
显示了这一点:
现在,正如评论中所述,为什么不尝试直接从Nginx压缩它?通过在nginx配置中利用gzip压缩:
# enable gzip compression
gzip on;
gzip_min_length 1100;
gzip_buffers 4 32k;
gzip_types text/plain application/x-javascript text/xml text/css;
gzip_vary on;
# end gzip configuration
以下是我的请求标题:
Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Encoding:gzip, deflate, sdch
Accept-Language:en-US,en;q=0.8
Cache-Control:max-age=0
Connection:keep-alive
Host:104.194.26.13:2002
Referer:http://stackoverflow.com/questions/34805168/nginx-and-php-gzip-compression-not-working-in-browser-but-works-in-curl/34805312?noredirect=1
Upgrade-Insecure-Requests:1
User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.106 Safari/537.36