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 相关文章推荐
PHP提取中文首字母
Apr 09 PHP
wiki-shan写的php在线加密的解密程序
Sep 07 PHP
php foreach 使用&(与运算符)引用赋值要注意的问题
Feb 16 PHP
php下使用SimpleXML 处理XML 文件
Feb 27 PHP
php数据库连接时容易出错的特殊符号问题
Sep 01 PHP
基于PHP CURL用法的深入分析
Jun 09 PHP
CI(CodeIgniter)框架配置
Jun 10 PHP
php获取文章上一页与下一页的方法
Dec 01 PHP
php简单统计中文个数的方法
Sep 30 PHP
PHP批量删除jQuery操作
Jul 23 PHP
PHP命名空间namespace及use的简单用法分析
Aug 03 PHP
PHP asXML()函数讲解
Feb 03 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
php公用函数列表[正则]
2007/02/22 PHP
广告切换效果(缓动切换)
2009/05/27 Javascript
js 字符串操作函数
2009/07/25 Javascript
加载jQuery后$冲突的解决办法
2010/07/09 Javascript
Javascript无参数和有参数类继承问题解决方法
2015/03/02 Javascript
JavaScript DOM节点操作实例小结(新建,删除HTML元素)
2017/01/19 Javascript
微信小程序 setData使用方法及常用错误解决办法
2017/05/11 Javascript
浅谈angular4 ng-content 中隐藏的内容
2017/08/18 Javascript
js HTML5 canvas绘制图片的方法
2017/09/08 Javascript
JS实现的简单表单验证功能示例
2017/10/13 Javascript
详解Vue用自定义指令完成一个下拉菜单(select组件)
2017/10/31 Javascript
解决vue打包css文件中背景图片的路径问题
2018/09/03 Javascript
如何让node运行es6模块文件及其原理详解
2018/12/11 Javascript
从0到1构建vueSSR项目之node以及vue-cli3的配置
2019/03/07 Javascript
vue中使用vue-cli接入融云实现即时通信
2019/04/19 Javascript
JS实现联想、自动补齐国家或地区名称的功能
2020/07/07 Javascript
详细解析Python中__init__()方法的高级应用
2015/05/11 Python
Windows下使Python2.x版本的解释器与3.x共存的方法
2015/10/25 Python
Python实用技巧之列表、字典、集合中根据条件筛选数据详解
2018/07/11 Python
详解python分布式进程
2018/10/08 Python
python利用Tesseract识别验证码的方法示例
2019/01/21 Python
python进程和线程用法知识点总结
2019/05/28 Python
flask 实现token机制的示例代码
2019/11/07 Python
Python小整数对象池和字符串intern实例解析
2020/03/21 Python
使用Html5、CSS实现文字阴影效果
2018/01/17 HTML / CSS
EJB包括(SessionBean,EntityBean)说出他们的生命周期,及如何管理事务的?
2013/02/17 面试题
优秀学生干部个人的自我评价
2013/10/04 职场文书
临床医师专业个人自我评价
2014/01/08 职场文书
药店主任岗位责任制
2014/02/10 职场文书
技术总监管理职责范本
2014/03/06 职场文书
道德演讲稿
2014/05/21 职场文书
2014年教师批评与自我批评思想汇报
2014/09/20 职场文书
个人向公司借款协议书
2014/10/09 职场文书
教师学期末个人总结
2015/02/13 职场文书
沂蒙六姐妹观后感
2015/06/08 职场文书
导游词之河北滦平金山岭长城
2019/10/16 职场文书