IIS6.0 开启Gzip方法及PHP Gzip函数分享


Posted in PHP onJune 08, 2014

IIS 的 GZIP 压缩                                                                       

1.首先备份 IIS 的配置文件, 复制 C:\Windows\system32\inetsrv\metabase.xml到另外的备份文件夹中.   C:\Windows\system32\inetsrv\metabase.xml是 IIS 的核心配置文件,该文件的完整性一但被破坏,IIS 将无法正常运行,严重到需要重新安装系统.

2. 在开始菜单中启动 Internet 信息服务(IIS)管理器,右键点击“网站”属性,打开“服务”选项卡,勾选“HTTP 压缩”的两个选项。“临时目录”和“临时目录最大容量”可根据需要自行设置。设置完成后点击确定。

3. 右键点击“网站”下方的 “Web服务扩展”,添加一个新的Web服务扩展,扩展名填写为“HTTP Compression”或其他,都可以。“要求的文件”添加:c:\windows\system32\inetsrv\gzip.dll ,并勾选“设置扩展状态为允许”,完成后点击确定。

4.下面的步骤有些复杂,如果没有确定的把握能理解,最好不要尝试,右键点击“Internet 信息服务的”“本地计算机”属性,勾选“允许直接编辑配置数据库”并确定。

5. 在开始菜单中运行 notepad C:\Windows\system32\inetsrv\metabase.xml ,打开metabase.xml 文件,请在任何改动前再次确认该文件已经备份。

6. 用文本编辑器打开metabase.xml ,用查找功能找到“IIsCompressionScheme”,共有3处,都在一起,分别是deflate、gzip和Parameters,deflate也是一种压缩格式,不过性能上不如gzip。需要修改的是deflate和gzip这两段,参数基本一样,都要修改。

HcDynamicCompressionLevel是用来设置压缩率,默认是0,最高是10。低压缩级别生成稍大一些的压缩文件,但对 CPU 和内存资源的总体影响较小。高压缩级别通常会生成较小的压缩文件,但会占用较多的 CPU 时间和内存。有人说设置成9性价比最高。

HcFileExtensions是用来设置压缩的静态文件扩展名,默认是htm、html、txt,根据网站的自身情况添加扩展名,最基本的是js、css。添加时注意原有的换行格式。

HcScriptFileExtensions是用来设置压缩的动态文件扩展名,默认是asp、dll和exe,根据需要自行添加扩展名,无外乎aspx、php等。可以将这一项的默认删除留空,这样所有的动态响应都以压缩方式发送。另外,还将动态压缩 HcFileExtensions 中所有未指定的静态文件类型,并且因此不将它们放入缓存。同样地,必须将 HcDoDynamicCompression 设置为 true,以进行动态压缩。

PHP Gzip 

/*
* 压缩数据
*/
public static function ob_gzip($content) // $content 就是要压缩的页面内容,或者说饼干原料
{   
    if(    !headers_sent() && // 如果页面头部信息还没有输出
        extension_loaded("zlib") && // 而且zlib扩展已经加载到PHP中
        strstr($_SERVER["HTTP_ACCEPT_ENCODING"],"gzip")) //而且浏览器说它可以接受GZIP的页面 
    {
        $content = gzencode($content." OK",9); //此页已压缩”的注释标签,然后用zlib提供的gzencode()函数执行级别为9的压缩,这个参数值范围是0-9,0表示无压缩,9表示最大压缩,当然压缩程度越高越费CPU。        //然后用header()函数给浏览器发送一些头部信息,告诉浏览器这个页面已经用GZIP压缩过了!
        header("Content-Encoding: gzip"); 
        header("Vary: Accept-Encoding");
        header("Content-Length: ".strlen($content));
    }
        return $content; //返回压缩的内容,或者说把压缩好的饼干送回工作台。
}
PHP 相关文章推荐
生成sessionid和随机密码的例子
Oct 09 PHP
php 在文件指定行插入数据的代码
May 08 PHP
探讨:如何通过stats命令分析Memcached的内部状态
Jun 14 PHP
Linux下安装oracle客户端并配置php5.3
Oct 12 PHP
php上传文件并显示上传进度的方法
Mar 24 PHP
列举PHP的Yii 2框架的开发优势
Jul 03 PHP
PHP封装CURL扩展类实例
Jul 28 PHP
分享五个PHP7性能优化提升技巧
Dec 07 PHP
详解PHP对象的串行化与反串行化
Jan 24 PHP
php unicode编码和字符串互转的方法
Aug 12 PHP
解决php扩展安装不生效问题
Oct 25 PHP
php设计模式之享元模式分析【星际争霸游戏案例】
Mar 23 PHP
PHP获取中英混合字符串长度的方法
Jun 07 #PHP
使用PHP破解防盗链图片的一个简单方法
Jun 07 #PHP
PHP防止post重复提交数据的简单例子
Jun 07 #PHP
解决PhpMyAdmin中导入2M以上大文件限制的方法分享
Jun 06 #PHP
php 判断网页是否是utf8编码的方法
Jun 06 #PHP
PHP实现的博客欢迎提示功能(很特别哦)
Jun 05 #PHP
php中数字0和空值的区别分析
Jun 05 #PHP
You might like
同时提取多条新闻中的文本一例
2006/10/09 PHP
PHP+APACHE实现用户论证的方法
2006/10/09 PHP
PHP学习笔记 用户注册模块用户类以及验证码类
2011/09/20 PHP
php文件操作实例代码
2012/05/10 PHP
解决Laravel 使用insert插入数据,字段created_at为0000的问题
2019/10/11 PHP
PHP读取文件,解决中文乱码UTF-8的方法分析
2020/01/22 PHP
给Javascript数组插入一条记录的代码
2007/08/30 Javascript
javascript对下拉列表框(select)的操作实例讲解
2013/11/29 Javascript
2014 年最热门的21款JavaScript框架推荐
2014/12/25 Javascript
js实现点击图片改变页面背景图的方法
2015/02/28 Javascript
js中javascript:void(0) 真正含义
2020/11/05 Javascript
基于JavaScript代码实现随机漂浮图片广告
2016/01/05 Javascript
微信小程序之选项卡的实现方法
2017/09/29 Javascript
解决vue-router中的query动态传参问题
2018/03/20 Javascript
微信小程序scroll-view仿拼多多横向滑动滚动条
2020/04/21 Javascript
Angular动画实现的2种方式以及添加购物车动画实例代码
2018/08/09 Javascript
vue  directive定义全局和局部指令及指令简写
2018/11/20 Javascript
jQuery实现雪花飘落效果
2020/08/02 jQuery
深入解析Python中的lambda表达式的用法
2015/08/28 Python
使用浏览器访问python写的服务器程序
2019/10/10 Python
Pyspark读取parquet数据过程解析
2020/03/27 Python
基于tensorflow for循环 while循环案例
2020/06/30 Python
TensorFlow Autodiff自动微分详解
2020/07/06 Python
python爬虫智能翻页批量下载文件的实例详解
2021/02/02 Python
怎样实现H5+CSS3手指滑动切换图片的示例代码
2019/05/05 HTML / CSS
销售所有的狗狗产品:Dog.com
2016/10/13 全球购物
潘多拉珠宝英国官方网上商店:PANDORA英国
2018/06/12 全球购物
孕妇内衣和胸罩:Cake Maternity
2018/07/16 全球购物
学习雷锋做美德少年寄语大全
2014/04/09 职场文书
优秀员工推荐信
2014/05/10 职场文书
成品仓库管理员岗位职责
2015/04/09 职场文书
2015年共青团工作总结
2015/05/15 职场文书
2016庆祝教师节新闻稿
2015/11/25 职场文书
2019公司管理制度
2019/04/19 职场文书
go原生库的中bytes.Buffer用法
2021/04/25 Golang
BCL经典机 SONY ICF-5900W电路分析
2022/04/24 无线电