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实现的遍历文件夹下所有文件,编辑删除
Jan 05 PHP
备份mysql数据库的php代码(一个表一个文件)
May 28 PHP
PHP中获取内网用户MAC地址(WINDOWS/linux)的实现代码
Aug 11 PHP
通过PHP的内置函数,通过DES算法对数据加密和解密
Jun 21 PHP
PHP session_start()问题解疑(详细介绍)
Jul 05 PHP
php中的strpos使用示例
Feb 27 PHP
php读取flash文件高宽帧数背景颜色的方法
Jan 06 PHP
PHP中让curl支持sock5的代码实例
Jan 21 PHP
php中stdClass的用法分析
Feb 27 PHP
PHP 接入微信扫码支付总结(总结篇)
Nov 03 PHP
基于PHP实现栈数据结构和括号匹配算法示例
Aug 10 PHP
php实现解析xml并生成sql语句的方法
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中文繁体和简体相互转换的方法
2015/03/21 PHP
PHP记录搜索引擎蜘蛛访问网站足迹的方法
2015/04/15 PHP
Zend Framework开发入门经典教程
2016/03/23 PHP
PHP大文件分割上传 PHP分片上传
2017/08/28 PHP
2020最新版 PhpStudy V8.1版本下载安装使用详解
2020/10/30 PHP
对YUI扩展的Gird组件 Part-1
2007/03/10 Javascript
获取焦点时,利用js定时器设定时间执行动作
2010/04/02 Javascript
jQuery选择头像并实时显示的代码
2010/06/27 Javascript
jquery 关于event.target使用的几点说明介绍
2013/04/26 Javascript
JS操作JSON要领详细总结
2013/08/25 Javascript
jquery配合css简单实现返回顶部效果
2013/09/30 Javascript
浅析document.ready和window.onload的区别讲解
2013/12/18 Javascript
探寻Javascript执行效率问题
2014/11/12 Javascript
JavaScript实现鼠标点击后层展开效果的方法
2015/05/13 Javascript
jquery实现select选择框内容左右移动代码分享
2015/11/21 Javascript
jQuery实现模仿微博下拉滚动条加载数据效果
2015/12/25 Javascript
bootstrap布局中input输入框右侧图标点击功能
2016/05/16 Javascript
JavaScript体验异步更好的解决办法
2018/01/08 Javascript
javaScript中"=="和"==="的区别详解
2018/03/16 Javascript
详解在React.js中使用PureComponent的重要性和使用方式
2018/07/10 Javascript
Jquery和CSS实现选择框重置按钮功能
2018/11/08 jQuery
JavaScript中关于base64的一些事
2019/05/06 Javascript
[01:46]DOTA2上海特锦赛小组赛英文解说KotlGuy采访
2016/02/27 DOTA
Python守护进程用法实例分析
2015/06/04 Python
python中快速进行多个字符替换的方法小结
2016/12/15 Python
python smtplib模块实现发送邮件带附件sendmail
2018/05/22 Python
通过实例解析Python RPC实现原理及方法
2020/07/07 Python
Python根据URL地址下载文件并保存至对应目录的实现
2020/11/15 Python
在pycharm中使用pipenv创建虚拟环境和安装django的详细教程
2020/11/30 Python
请说出几个常用的异常类
2013/01/08 面试题
技校生自我鉴定范文
2013/09/26 职场文书
安全生产大检查方案
2014/05/07 职场文书
2014-2015学年工作总结
2014/11/27 职场文书
小学生作文评语集锦
2014/12/25 职场文书
不同品牌、不同型号对讲机如何互相通联
2022/02/18 无线电
面试中canvas绘制图片模糊图片问题处理
2022/03/13 Javascript