浏览 2290 次 / [ 天下网闻 ] php简单开启gzip压缩方法(zlib.output_compression)
  • 发布时间 2013-12-19 07:56
  • DOOOOR设计网之前启用过Gzip压缩,站长工具也显示出74.11%的压缩率,今天百度工具提示还是有很多页面没有压缩,之前用360也看到过类似提示,没太在意,刚才搜索到以下方法,使压缩率提升至72.32%,本站响应速度仅提升若干毫秒。只为体验结果减少个X,顺眼点。

    -------------

    网上的教程基本是你抄我来我抄他,不外乎加头加尾或者自构函数两种写法。实际上每个php页面都要去加代码——当然也可以include引用,不过总显得略微麻烦
    一般而言,页面文件开启gzip压缩以后,其体积可以减小60%~90%,对于文字类站点,可以节省下大量的带宽与用户等待时间。但是不论是iis还是apache默认都只压缩html类静态文件,对于php文件需要模块配置才可支持(iis7.5中开启动态+静态压缩也可以),于是利用php自身功能到达gzip的效果也成为一项合理的诉求。

    网上的教程基本是你抄我来我抄他,不外乎加头加尾或者自构函数两种写法。实际上每个php页面都要去加代码——当然也可以include引用,不过总显得略微麻烦。

    实际上最简单的办法,打开php目录下的php.ini文件,找到zlib.output_compression = Off,改成zlib.output_compression = On,

    再把;zlib.output_compression_level前面的;去掉,后面的-1改成1~5的数值。这样便可以实现所有php页面的gzip效果,不再需要单独修改网站的php文件——如果站点很多的话,会节省很多时间。

    需要说明的是以下几点

    一、;zlib.output_handler必须保持注释掉,因为此参数和前面的设置冲突—官方的说法。

    二、一般情况下缓存是4k(output_buffering = 4096)。

    三、zlib.output_compression_level 建议参数值是1~5,6以实际压缩效果提升不大,cpu占用却是几何增长。