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 获取完整url地址
Dec 20 PHP
PHP 批量删除 sql语句
Jun 05 PHP
ThinkPHP缓存方法S()概述
Jun 13 PHP
PHP中执行cmd命令的方法
Oct 11 PHP
CI框架装载器Loader.php源码分析
Nov 04 PHP
php的GD库imagettftext函数解决中文乱码问题
Jan 24 PHP
php实现的农历算法实例
Aug 11 PHP
PHP使用stream_context_create()模拟POST/GET请求的方法
Apr 02 PHP
Yii2 RESTful中api的使用及开发实例详解
Jul 06 PHP
Ajax实现对静态页面的文章访问统计功能示例
Oct 10 PHP
Laravel使用PHPQRCODE实现生成带有LOGO的二维码图片功能示例
Jul 07 PHP
laravel 数据迁移与 Eloquent ORM的实现方法
Apr 12 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实现用户登录的案例代码
2018/05/10 PHP
javascript 动态数据下的锚点错位问题解决方法
2008/12/24 Javascript
简单选项卡 js和jquery制作方法分享
2014/02/26 Javascript
js实现网页标题栏闪烁提示效果实例分析
2014/11/20 Javascript
jquery使用animate方法实现控制元素移动
2015/03/27 Javascript
jQuery打字效果实现方法(附demo源码下载)
2015/12/18 Javascript
JavaScript跨域调用基于JSON的RESTful API
2016/07/09 Javascript
详解angular ui-grid之过滤器设置
2017/06/07 Javascript
深究AngularJS中ng-drag、ng-drop的用法
2017/06/12 Javascript
常见的浏览器Hack技巧整理
2017/06/29 Javascript
Node.js使用gm拼装sprite图片
2017/07/04 Javascript
微信小程序之数据缓存的实例详解
2017/09/29 Javascript
微信小程序如何自定义table组件
2019/06/29 Javascript
JS实现随机抽选获奖者
2019/11/07 Javascript
python回调函数用法实例分析
2015/05/09 Python
Python爬虫中urllib库的进阶学习
2018/01/05 Python
详解Python安装scrapy的正确姿势
2018/06/26 Python
详解Python基础random模块随机数的生成
2019/03/23 Python
Python+PyQt5实现美剧爬虫可视工具的方法
2019/04/25 Python
使用Python脚本zabbix自定义key监控oracle连接状态
2019/08/28 Python
python单例设计模式实现解析
2020/01/07 Python
python与js主要区别点总结
2020/09/13 Python
python获取linux系统信息的三种方法
2020/10/14 Python
pytorch Dataset,DataLoader产生自定义的训练数据案例
2021/03/03 Python
HTML5 Canvas像素处理使用接口介绍
2012/12/02 HTML / CSS
html5贪吃蛇游戏使用63行代码完美实现
2013/06/25 HTML / CSS
html5需遵循的6个设计原则
2016/04/27 HTML / CSS
京东全球售:直邮香港,澳门,台湾,美国,澳大利亚等地区
2017/09/24 全球购物
Java和Javasciprt的区别
2012/09/02 面试题
大学生专科学习生活的自我评价
2013/12/07 职场文书
小学家长会邀请函
2014/01/23 职场文书
员工薪酬激励方案
2014/06/13 职场文书
党性心得体会
2014/09/03 职场文书
优秀教研组申报材料
2014/12/26 职场文书
党支部意见范文
2015/06/02 职场文书
严以用权专题学习研讨会发言材料
2015/11/09 职场文书