ThinkPHP3.1新特性之对页面压缩输出的支持


Posted in PHP onJune 19, 2014

目前大多数浏览器都已经支持页面的压缩输出,通过压缩输出,页面大小可以减少30%,但是由于3.0及以前的版本都没有内置页面压缩输出功能,所以一般来说,开发人员需要自己在入口文件中添加:

ob_start('ob_gzhandler');

但是由于服务器环境的不同,有时候这个配置会和php.ini文件中的zlib压缩配置冲突。而ThinkPHP3.1版则内置了页面压缩输出的功能,不再需要再手动添加ob_gzhandler代码,增加OUTPUT_ENCODE配置参数,并支持检测zlib.output_compression。

框架默认会进行页面压缩输出,并且会自动检测zlib.output_compression配置,如果php.ini里面zlib.output_compression是开启状态,则仍然以服务器环境的页面压缩方式进行页面压缩。

相关代码只有一行:

if(!ini_get('zlib.output_compression') && C('OUTPUT_ENCODE')) ob_start('ob_gzhandler');

在个别特殊的环境下面,如果出现类似下面的错误提示:

output_handler "ob_gzhandler" conflicts with "zlib.output_compression"

一般是由于你的服务器配置了其他的压缩方式导致冲突,这个时候你可以手动关闭OUTPUT_ENCODE,即:

'OUTPUT_ENCODE'=>false

就可以解决问题。

PHP 相关文章推荐
ajax取消挂起请求的处理方法
Mar 18 PHP
php一些错误处理的方法与技巧总结
Aug 10 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(六)
Jun 23 PHP
ThinkPHP模板判断输出Defined标签用法详解
Jun 30 PHP
windows7下安装php的imagick和imagemagick扩展教程
Jul 04 PHP
PHP产生不重复随机数的5个方法总结
Nov 12 PHP
php备份数据库类分享
Apr 14 PHP
微信开发之网页授权获取用户信息(二)
Jan 08 PHP
ThinkPHP模板Volist标签嵌套循环输出多维数组的方法
Mar 23 PHP
PHP实现冒泡排序的简单实例
May 26 PHP
yii2缓存Caching基本用法示例
Jul 18 PHP
PHP 表单提交及处理表单数据详解及实例
Dec 27 PHP
ThinkPHP3.1新特性之多数据库操作更加完善
Jun 19 #PHP
ThinkPHP3.1新特性之G方法的使用
Jun 19 #PHP
ThinkPHP3.1新特性之查询条件预处理简介
Jun 19 #PHP
ThinkPHP3.1新特性之字段合法性检测详解
Jun 19 #PHP
ThinkPHP3.1新特性之动态设置自动完成和自动验证示例
Jun 19 #PHP
ThinkPHP的Widget扩展实例
Jun 19 #PHP
ThinkPHP3.1的Widget新用法
Jun 19 #PHP
You might like
解析yahoo邮件用phpmailer发送的实例
2013/06/24 PHP
使用PHP进行微信公众平台开发的示例
2015/08/21 PHP
PHP的垃圾回收机制代码实例讲解
2021/02/27 PHP
常见的5个PHP编码小陋习以及优化实例讲解
2021/02/27 PHP
引用外部脚本时script标签关闭的写法
2014/01/20 Javascript
js与jquery实时监听输入框值的oninput与onpropertychange方法
2015/02/05 Javascript
深入理解MVC中的时间js格式化
2016/05/19 Javascript
javascript实现简单的on事件绑定
2016/08/23 Javascript
ES6概念 ymbol.for()方法
2016/12/25 Javascript
AngularJS监听ng-repeat渲染完成的两种方法
2018/01/16 Javascript
微信小程序页面生命周期详解
2018/01/31 Javascript
vue中动态绑定表单元素的属性方法
2018/02/23 Javascript
vue中el-upload上传图片到七牛的示例代码
2018/10/19 Javascript
原生js实现二级联动菜单
2019/11/27 Javascript
[01:56]无止竞 再出发——中国军团出征2017年DOTA2国际邀请赛
2017/07/05 DOTA
python的迭代器与生成器实例详解
2014/07/16 Python
对于Python的Django框架使用的一些实用建议
2015/04/03 Python
用tensorflow构建线性回归模型的示例代码
2018/03/05 Python
Python通过调用有道翻译api实现翻译功能示例
2018/07/19 Python
python微信公众号之关注公众号自动回复
2018/10/25 Python
解决pycharm回车之后不能换行或不能缩进的问题
2019/01/16 Python
Python any()函数的使用方法
2019/10/28 Python
使用before和:after伪类制作css3圆形按钮
2014/04/08 HTML / CSS
美国定制钻石订婚戒指:Ritani
2017/12/08 全球购物
手工制作的意大利太阳镜和光学元件:Illesteva
2019/01/19 全球购物
学校办公室主任职责
2013/12/27 职场文书
汽车专业人才自我鉴定范文
2013/12/29 职场文书
公司成本主管岗位责任制
2014/02/21 职场文书
安全口号大全
2014/06/21 职场文书
汽车检测与维修专业求职信
2014/07/04 职场文书
2014年宣传工作总结
2014/11/18 职场文书
民事起诉书范本
2015/05/19 职场文书
护理工作心得体会
2016/01/22 职场文书
mysql升级到5.7时,wordpress导数据报错1067的问题
2021/05/27 MySQL
VS2019连接MySQL数据库的过程及常见问题总结
2021/11/27 MySQL
彻底弄懂Python中的回调函数(callback)
2022/06/25 Python