我已经编辑了我的php.ini文件,以便它有这两个条目:
zlib.output_compression = On zlib.output_compression_level = 4
但是,在重新启动apache之后,当我请求php页面时,响应中返回的标题表明我的服务器仍然没有提供压缩页面(这里是使用Chromenetworkingfunction查看的选定标题):
Cache-Control:no-cache, must-revalidate, max-age=0 Connection:Keep-Alive Content-Type:text/html; charset=UTF-8 Date:Mon, 17 Sep 2012 23:46:13 GMT Expires:Wed, 11 Jan 1984 05:00:00 GMT Last-Modified:Mon, 17 Sep 2012 23:46:13 GMT Pragma:no-cache Proxy-Connection:Keep-Alive Server:Apache/2.2.21 (Unix) mod_ssl/2.2.21 OpenSSL/0.9.8e-fips-rhel5 mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635 PHP/5.2.17 Transfer-Encoding:chunked Via:1.1 XXX-PRXY-07 X-Powered-By:PHP/5.2.17
我可能会做错什么? 还有其他的设置需要改变吗?
编辑
这是另一组返回到另一台计算机的标题:
Cache-Control:no-cache, must-revalidate, max-age=0 Connection:close Content-Type:text/html; charset=UTF-8 Date:Thu, 20 Sep 2012 09:45:26 GMT Expires:Wed, 11 Jan 1984 05:00:00 GMT Last-Modified:Thu, 20 Sep 2012 09:45:26 GMT Pragma:no-cache Server:Apache/2.2.21 (Unix) mod_ssl/2.2.21 OpenSSL/0.9.8e-fips-rhel5 mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635 PHP/5.2.17 Transfer-Encoding:chunked Vary:Cookie X-Powered-By:PHP/5.2.17
它看起来像交通正在代理。 validation代理可以处理压缩stream量,并且由于某种原因没有对其进行解压缩。
如果客户端(在这种情况下代理,但在许多情况下最终用户的浏览器)不支持使用中的压缩,stream量不会被压缩。
我也注意到,mod_zlib或mod_deflate似乎都没有加载。 您可能需要检查模块是否正在工作和configuration(您可能需要为apache启动添加一个定义选项,或启用一个configuration文件)。
您的php.ini文件没有被读取,或者您的zlib模块没有被加载。 还要确保没有设置output_handler
。 如果您需要使用带有压缩输出的输出处理程序,请改为使用zlib.output_handler
。
首先要做的是确保PHP知道zlib和你的configuration更改。 创build一个名为test.php的文件,并在其中放入以下内容。
<?php phpinfo(); ?>
现在用您的浏览器访问该页面。 zlib部分的表格是什么意思? 它应该看起来像这样,如果是这样,你的网页应该与gzip内容编码。 如果你没有看到zlib部分,那么你可能需要在php.ini中添加一个指令来加载模块。
同时检查页面的核心部分,以确保output_handler
设置为无值 。