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环境――Appserv
Dec 13 PHP
escape unescape的php下的实现方法
Apr 27 PHP
php session 错误
May 21 PHP
PHP的单引号和双引号 字符串效率
May 27 PHP
PHP正则提取不包含指定网址的图片地址的例子
Apr 21 PHP
四种php中webservice实现的简单架构方法及实例
Feb 03 PHP
php使用Jpgraph绘制简单X-Y坐标图的方法
Jun 10 PHP
用PHP代码在网页上生成图片
Jul 01 PHP
在WordPress中安装使用视频播放器插件Hana Flv Player
Jan 04 PHP
laravel学习教程之存取器
Jul 30 PHP
PHP+Mysql+Ajax实现淘宝客服或阿里旺旺聊天功能(前台页面)
Jun 16 PHP
PHP延迟静态绑定的深入讲解
Apr 02 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
phpQuery占用内存过多的处理方法
2013/11/13 PHP
PHP自动重命名文件实现方法
2014/11/04 PHP
php截取字符串函数分享
2015/02/02 PHP
PHP实现多维数组转字符串和多维数组转一维数组的方法
2015/08/08 PHP
PHP 数组遍历foreach语法结构及实例
2016/06/13 PHP
Laravel 框架路由原理与路由访问实例分析
2020/04/14 PHP
跟随鼠标旋转的文字
2006/11/30 Javascript
推荐11款jQuery开发的复选框和单选框美化插件
2011/08/02 Javascript
js克隆对象、数组的常用方法介绍
2013/09/26 Javascript
实例讲解JQuery中this和$(this)区别
2014/12/08 Javascript
PHP和NodeJs开发的应用如何共用Session
2015/04/16 NodeJs
JS实现带提示的星级评分效果完整实例
2015/10/30 Javascript
js监听input输入框值的实时变化实例
2017/01/26 Javascript
jQuery事件对象的属性和方法详解
2017/09/09 jQuery
打造通用的匀速运动框架(实例讲解)
2017/10/17 Javascript
vue项目设置scrollTop不起作用(总结)
2018/12/21 Javascript
对于防止按钮重复点击的尝试详解
2019/04/22 Javascript
vue+eslint+vscode配置教程
2019/08/09 Javascript
浅谈小程序globalData的那些事儿
2019/11/01 Javascript
JavaScript数组排序小程序实现解析
2020/01/13 Javascript
js实现双人五子棋小游戏
2020/05/28 Javascript
python Socket之客户端和服务端握手详解
2017/09/18 Python
tensorflow入门之训练简单的神经网络方法
2018/02/26 Python
python 递归深度优先搜索与广度优先搜索算法模拟实现
2018/10/22 Python
Python使用__new__()方法为对象分配内存及返回对象的引用示例
2019/09/20 Python
python中for循环变量作用域及用法详解
2019/11/05 Python
python 将视频 通过视频帧转换成时间实例
2020/04/23 Python
python3中for循环踩过的坑记录
2020/12/14 Python
python 实现端口扫描工具
2020/12/18 Python
python脚本定时发送邮件
2020/12/22 Python
妇产科护士自我鉴定
2013/10/15 职场文书
高中军训感言400字
2014/02/24 职场文书
机关会计岗位职责
2014/04/08 职场文书
个人遵守党的政治纪律情况对照检查材料
2014/09/26 职场文书
2014年党的群众路线活动个人整改措施
2014/10/28 职场文书
民事撤诉申请书范本
2015/05/18 职场文书