Total Pageviews

Wednesday, 8 May 2013

如何整站开启php zlib(gzip)压缩

准备工作
  1、找不到php_zlib.dll文件?
  自php4.3开始zlib压缩就已经内置在php中了,所以至少Windows环境下是不需要安装zlib的。
  2、安装搭建php运行环境
  由于光通过php.ini配置文件开启gzip配置实现php gzip压缩输出是不行的的,其需要apache的支持,所以建议安装搭建php+apache+mysql运行环境
  php gzip配置步骤
  一、打开php.ini配置文件,找到zlib.output_compression = Off,将

 zlib.output_compression = Off
;zlib.output_compression_level = -1
修改为
zlib.output_compression = On
zlib.output_compression_level = 6
php gzip配置知识点:
  1、默认php是不开启zlib整站压缩输出的,而是通过对需要压缩输出的页面使用ob_gzhandler函数实现,两者只能二选一,否则会报错。
  2、zlib.output_compression默认值为Off,你可以将其设置为On,或者output buffer size(默认为4k)
  3、zlib.output_compression_level代表压缩比,默认推荐设置压缩比值为6,可选范围为1-9,-1代表关闭php zlib(gzip)压缩
  二、保存php.ini配置文件,并重启apache服务器
  三、打开apache 配置文件httpd.conf,配置装载deflate_module
  这一步是最关键的开启php gzip压缩输出配置步骤,很多网友会说我已经开启了php.ini配置文件中的php gzip配置怎么还是没有实现php gzip压缩,就是因为没有让apache装载deflate_module,方法如下,将
 #LoadModule deflate_module modules/mod_deflate.so
去除开头的#号,并重启apache即可。
  OK,下面看下经过php gizp压缩输出的页面大小

经过php gzip压缩输出配置的页面大小效果图

  通过上图我们可以看到phpinfo()函数的输出页面原来大小为71.7k,通过配置php gzip,大小被压缩为23.9k,php gzip压缩的效果还是很可观的。
  至此,通过修改php.ini配置文件实现php zlib(gzip)压缩输出的配置教程就介绍完了。

from http://www.jzxue.com/
-----------------------------------

PHP程序加速之压缩输出-gzip

利用Apache中的mod_gzip模块,我们可以利用gzip的压缩算法来对Apache服务器发布的网页内容进行压缩后再传输到客户端的浏览器。如果是纯文本的内容,效果非常明显,大约可以压缩到原来的30%-40%,使用户的浏览速度大大加快。

   Gzip需要客户端浏览器支持,目前大部份浏览器都支持gzip,如IE,Netscape,Mozilla等,所以这种方法值得一试。我们可以利用 PHP中的预定义变量$_SERVER[‘HTTP_ACCEPT_ENCODING’]来判断客户端浏览器是否支持gzip。

  gzip1.php
if(ereg('gzip',$_SERVER['HTTP_ACCEPT_ENCODING'])) {
 //浏览器支持
} else {
 //浏览器不支持,输出其它内容
}
?>