欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

PHP开启Gzip页面没有输出的解决方法

程序员文章站 2022-05-09 12:30:12
...
  1. output_buffering = Off
  2. output_handler =
  3. zlib.output_compression = On
复制代码

即可实现为全站的php文件启用gzip加速。

对于html文件,可以通过配置.htaccess文件,由php来处理html请求(会加重服务器负担,建议在nginx或apache上做gzip处理):

  1. AddHandler x-httpd-php .html .htm
复制代码

问题: 默认安装的PHP5.3,一旦开启了Gzip压缩输出功能,打开网站首页会无法显示。 这是由于PHP配置有问题造成的,5.3默认配置如下: output_buffering=4096; 将其设置为off或者0即可解决。

经过验证,这个问题在PHP 5.1 - PHP5.2中都存在。

不用担心是否影响压缩,或根本就不压缩,可以用如下的方法判断:

  1. curl -I --compressed http://bbs.it-home.org
复制代码

HTTP/1.1 200 OK Server: nginx/0.8.13 Date: Tue, 01 Sep 2009 16:38:53 GMT Content-Type: text/html Connection: keep-alive Vary: Accept-Encoding X-Powered-By: PHP/5.2.10 Expires: Mon, 26 Jul 1997 05:00:00 GMT Last-Modified: Tue, 01 Sep 2009 16:38:53 GMT Cache-Control: no-store, no-cache, must-ridate Pragma: no-cache Content-Encoding: gzip

如果结果中有:Content-Encoding: gzip 这句,则说明该网页是经gzip压缩过的,即php gzip压缩有效。