php简单开启gzip压缩方法(zlib.output_compression)

yipeiwu_com5年前PHP代码库

一般而言,页面文件开启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占用却是几何增长。

点击查看原图

图1.通过firebug查看请求头和回应头,实际上gzip效果已经显示

点击查看原图

图2.站长站gzip检测工具也显示gzip有效。

相关文章

深入理解PHP中mt_rand()随机数的安全

前言 在前段时间挖了不少跟mt_rand()相关的安全漏洞,基本上都是错误理解随机数用法导致的。这里又要提一下php官网manual的一个坑,看下关于mt_rand()的介绍:中文版^c...

php带密码功能并下载远程文件保存本地指定目录 修改加强版

php带密码功能并下载远程文件保存本地指定目录 修改加强版

原作者BlueStyle 提示 改进地方有 以前的算法是等文件下载完才计算, 现在这个直接在在获取文件时候就计算大小 加了容错语句 增加了判断目录,没有目录自动创建 把计算文件大小的算法...

PHP 判断常量,变量和函数是否存在

复制代码 代码如下:if (defined('CONST_NAME')) {    //do something } 变量检测则是使用isset,注意变量未...

php 代码优化的42条建议 推荐

1.如果一个方法可静态化,就对它做静态声明。速率可提升至4倍。 2.echo 比 print 快。 3.使用echo的多重参数(译注:指用逗号而不是句点)代替字符串连接。 4.在执行fo...

PHP大文件分块上传功能实例详解

本文实例讲述了PHP大文件分块上传功能。分享给大家供大家参考,具体如下: 前端代码 使用file.slice将文件进行分割,然后分别进行异步上传。 <!DOCTYPE html...