Home >php教程 >php手册 >PHP如何给网站开启压缩输出增强网站访问速度

PHP如何给网站开启压缩输出增强网站访问速度

WBOY
WBOYOriginal
2016-06-13 09:36:08770browse

分享两种压缩页面输出数据以提高网页访问速度的方法,一种是通过使用php zlib扩展实现页面gzip压缩输出(使用php的内置函数ob_gzhandler进行gzip压缩输出),另外一种方法是是通过修改php.ini配置文件开启php gzip以实现压缩页面信息压缩传输,现在分别详细分享一下这两种方法分别是如何实现的!

(1)通过php的内置函数ob_gzhandler进行gzip压缩输出

在页面头部添加如下代码:

if(extension_loaded('zlib') && strstr($_SERVER['HTTP_ACCEPT_ENCODING'],'gzip')){
    ob_start('ob_gzhandler');
}else{
    exit('php zlib使用失败,请确认是否已加载zlib扩展');
}

在页面尾部添加如下代码:

if(extension_loaded('zlib')){ob_end_flush();}

下面分别是访问不同的域名但信息完全相同的两个网站,结果如下图:

(2)通过修改php.ini配置文件实现开启或关闭php gzip以实现压缩页面信息压缩传输
 
一、找到并打开php.ini配置文件,找到zlib.output_compression = Off,将

zlib.output_compression = Off   
;zlib.output_compression_level = -1

修改为:

zlib.output_compression = On   
zlib.output_compression_level = 6

php gzip配置知识点:

1、默认php是不开启zlib整站压缩输出的,而是通过对需要压缩输出的页面使用ob_gzhandler函数实现,两者只能二选一,否则会报错。
 
2、zlib.output_compression默认值为Off,你可以将其设置为On,或者output buffer size(默认为4k)
 
3、zlib.output_compression_level代表压缩比,默认推荐设置压缩比值为6,可选范围为1-9,-1代表关闭php zlib(gzip)压缩
 
二、保存php.ini配置文件,并重启apache服务器
 
三、打开apache 配置文件httpd.conf,配置装载deflate_module。这一步是最关键的开启php gzip压缩输出配置步骤,方法如下,找到

#LoadModule deflate_module modules/mod_deflate.so

这一段并去除开头的#号,然后重启apache即可。

注意:这种办法是相对于php版本大于4.3来说的,php4.3版本以前的需要另外单独安装zlib的。另外本人使用的是phpnow搭建的php服务器,直接修改php.ini(phpnow的php相关选项配置文件是php-apache2handler.ini)的相关配置并重启apache就行了,不用第二步操作。

下面分别是访问不同的域名但信息完全相同的两个网站,结果如下图:

 

具体看效果可用火狐浏览器查看,右键点击网页,弹出的菜单中有个查看页面信息选项,弹出的窗口看大小那一项就是了。本人网站未有实现改功能,悲哀的是本人空间不支持gzip压缩功能,代码也不能实现!

您可能感兴趣的文章

  • 使用PHP的GZip压缩功能对网站JS和CSS文件进行压缩加速网站访问速度
  • 如何使用zlib压缩输出内容以提高网页打开速度
  • 给网站添加网站收藏夹图标
  • PHP压缩html网页代码减小网络数据传输量,清除空格,制表符,注释标记
  • 肩,背部肌群锻炼-引体向上-俯立划船-俯卧挺身-站姿负重俯身弯起-坐姿颈后下拉-俯立正握上拉-颈前宽握引体向上
  • 网站上多种url都能访问同样的内容是件危险的事
  • 如何优化网站页面提高网页的加载速度
  • 从小型网站到超大规模网站的MySQL参考架构
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn