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文件向另一个地址post数据,不用表单和隐藏的变量的
Mar 06 PHP
flash用php连接数据库的代码
Apr 21 PHP
apache+php完美解决301重定向的两种方法
Jun 08 PHP
PHP写UltraEdit插件脚本实现方法
Dec 26 PHP
Youku 视频绝对地址获取的方法详解
Jun 26 PHP
thinkphp学习笔记之多表查询
Jul 28 PHP
Yii入门教程之目录结构、入口文件及路由设置
Nov 25 PHP
php分页查询mysql结果的base64处理方法示例
May 18 PHP
PHP实现chrome表单请求数据转换为接口使用的json数据
Mar 04 PHP
PHP常用字符串输出方法分析(echo,print,printf及sprintf)
Mar 09 PHP
PHP 实现重载
Mar 09 PHP
PHP中strval()函数实例用法
Jun 07 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脚本中include文件出错解决方法
2008/11/20 PHP
PHP 访问数据库配置通用方法(json)
2018/05/20 PHP
新浪中用来显示flash的函数
2007/04/02 Javascript
jquery+css+ul模拟列表菜单具体实现思路
2013/04/15 Javascript
JS获取图片lowsrc属性的方法
2015/04/01 Javascript
在Ubuntu系统上安装Ghost博客平台的教程
2015/06/17 Javascript
JavaScript+html5 canvas实现本地截图教程
2020/04/16 Javascript
js面向对象编程总结
2017/02/16 Javascript
在小程序中使用Echart图表的示例代码
2018/08/02 Javascript
Three.js实现3D机房效果
2018/12/30 Javascript
微信小程序收货地址API兼容低版本解决方法
2019/05/18 Javascript
jquery轮播图插件使用方法详解
2020/07/31 jQuery
Python中os.path用法分析
2015/01/15 Python
python excel使用xlutils类库实现追加写功能的方法
2018/05/02 Python
Python中的TCP socket写法示例
2018/05/11 Python
python3 对list中每个元素进行处理的方法
2018/06/29 Python
python中copy()与deepcopy()的区别小结
2018/08/03 Python
python Django里CSRF 对应策略详解
2019/08/05 Python
Python 等分切分数据及规则命名的实例代码
2019/08/16 Python
Python封装成可带参数的EXE安装包实例
2019/08/24 Python
关于jupyter打开之后不能直接跳转到浏览器的解决方式
2020/04/13 Python
Python socket服务常用操作代码实例
2020/06/22 Python
荷兰家电购物网站:Expert.nl
2020/01/18 全球购物
编写一个 C 函数,该函数在一个字符串中找到可能的最长的子字符串,且该字符串是由同一字符组成的
2015/07/23 面试题
优秀员工获奖感言
2014/03/01 职场文书
优秀学生干部先进事迹材料
2014/05/26 职场文书
促销活动总结怎么写
2014/06/25 职场文书
党员教师个人对照检查材料范文
2014/09/25 职场文书
公司租车协议书
2015/01/29 职场文书
学习保证书100字
2015/02/26 职场文书
财务工作个人总结
2015/02/27 职场文书
考研导师推荐信范文
2015/03/27 职场文书
就业意向书范本
2015/05/11 职场文书
2015年七夕情人节感言
2015/08/03 职场文书
祝福语集锦:朋友新店开业祝福语
2019/12/10 职场文书
Go语言实现Base64、Base58编码与解码
2021/07/26 Golang