/ 中存储网

PHP+Apache配置zlib和zip拓展压缩页面输出

2013-09-14 14:16:37 来源:ITJS.CN

1:确保php的ext文件夹中有php_zip.dll,php_zip.dll(linux下是.so)

在php.ini文件中加入两行

extension=php_zip.dll

extension=php_zip.dll

2:找到 zlib.output_compression = Off

;zlib.output_compression_level = -1

改为    #zlib.output_compression = On(注释掉这行是为了避免压缩是产生warnning)

;zlib.output_compression_level = 6

(l代表压缩比,默认推荐设置压缩比值为6,可选范围为1-9,-1代表关闭php zlib(gzip)压缩)

3:保存php.ini配置文件,打开打开apache 配置文件httpd.conf 

将#LoadModule deflate_module modules/mod_deflate.so

去除开头的#号,并重启apache即可。

下面是压缩的例子:

if (extension_loaded('zlib'))//如果含有这个拓展

{

 if (  !headers_sent() AND isset($_SERVER['HTTP_ACCEPT_ENCODING']) AND strpos($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip') !== FALSE)

//页面没有输出且浏览器可以接受GZIP的页面

 {

  ob_start('ob_gzhandler');

 }

}

//准备一些待压缩的内容

for($i=0; $i<100; $i++)

{

 echo('这是被压缩的内容这是被压缩的内容这是被压缩的内容');

}

//输出压缩成果

ob_end_flush();

当没有压缩输出时候在Firebug中显示页面接收了7KB的数据,压缩后只有90B,对于相同的内容压缩效果很明显

+10顶