PHP如何给网站开启压缩输出增强网站访问速度_PHP教程
(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参考架构