【发布时间】:2014-04-20 17:45:45
【问题描述】:
我用 php-fpm + opcache 配置了 nginx(可能是 opcache 是问题所在,但我对此表示怀疑)。 所以:
cat /etc/nginx/conf.d/gzip.conf
gzip on;
gzip_proxied any;
gzip_types text/plain application/xml text/css text/js text/xml application/x-javascript text/javascript application/json application/xml+rss;
gzip_vary on;
gzip_disable "msie6";
phpinfo() 输出:
Phar
Phar: PHP Archive support enabled
Phar EXT version 2.0.1
Phar API version 1.1.1
SVN revision $Id: ec8e5fbde7521bb0b03975e5c086f4e10830b36f $
Phar-based phar archives enabled
Tar-based phar archives enabled
ZIP-based phar archives enabled
gzip compression enabled
bzip2 compression enabled
OpenSSL support enabled
Firebug 响应标头:
Connection Keep-Alive
Content-Type application/json;charset=utf-8
Date Wed, 16 Apr 2014 09:37:54 GMT
Proxy-Connection Keep-Alive
Server nginx/1.4.1 (Ubuntu)
Transfer-Encoding chunked
Vary Accept-Encoding
Via 1.1 MSFWX
x-powered-by PHP/5.5.3-1ubuntu2.2
标头和 gzip_types 支持 PS application/json,我的猜测是 opcache 模块(最近启用,在那一刻 gzip 停止运行之后)因为将 php 代码的编译位放入 RAM 并且从不 gzip 它。我现在应该通过ob_start("ob_gzhandler") 压缩它吗?
【问题讨论】:
-
反应有多大?