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,对于相同的内容压缩效果很明显