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中ob(Output Buffer 输出缓冲)函数使用方法
Jul 21 PHP
通过JavaScript或PHP检测Android设备的代码
Mar 09 PHP
php错误、异常处理机制(补充)
May 07 PHP
PHP curl实现抓取302跳转后页面的示例
Jul 04 PHP
PHP基本语法总结
Sep 06 PHP
php单态设计模式(单例模式)实例
Nov 18 PHP
php生成PDF格式文件并且加密
Jun 22 PHP
详解PHP的Yii框架中日志的相关配置及使用
Dec 08 PHP
PHP中substr函数字符串截取用法分析
Jan 07 PHP
PHP输出图像imagegif、imagejpeg与imagepng函数用法分析
Nov 14 PHP
分析php://output和php://stdout的区别
May 06 PHP
tp5框架基于Ajax实现列表无刷新排序功能示例
Feb 10 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自动获取目录下的模板的代码
2010/08/08 PHP
php学习之 循环结构实现代码
2011/06/09 PHP
基于PHPExcel的常用方法总结
2013/06/13 PHP
一键生成各种尺寸Icon的php脚本(实例)
2017/02/08 PHP
javascript数字数组去重复项的实现代码
2010/12/30 Javascript
浅析js中2个等号与3个等号的区别
2013/08/06 Javascript
jquery操作对象数组元素方法详解
2014/11/26 Javascript
node中socket.io的事件使用详解
2014/12/15 Javascript
jQuery实现获取绑定自定义事件元素的方法
2015/12/02 Javascript
jQuery通过ajax快速批量提交表单数据
2016/10/25 Javascript
javascript实现滑动解锁功能
2017/03/22 Javascript
jstree单选功能的实现方法
2017/06/07 Javascript
基于JavaScript中字符串的match与replace方法(详解)
2017/12/04 Javascript
node.js到底要不要加分号浅析
2018/07/11 Javascript
使用npm命令提示: 'npm' 不是内部或外部命令,也不是可运行的程序的处理方法
2020/05/14 Javascript
jquery绑定事件 bind和on的用法与区别分析
2020/05/22 jQuery
Python制作爬虫采集小说
2015/10/25 Python
Python中的os.path路径模块中的操作方法总结
2016/07/07 Python
wtfPython—Python中一组有趣微妙的代码【收藏】
2018/08/31 Python
Python+OpenCV实现将图像转换为二进制格式
2020/01/09 Python
Python多进程编程multiprocessing代码实例
2020/03/12 Python
Python实现自动签到脚本功能
2020/08/20 Python
HTML利用九宫格原理进行网页布局
2020/03/13 HTML / CSS
Artist Guitars新西兰:乐器在线商店
2017/09/17 全球购物
伦敦的高级牛仔布专家:Trilogy
2018/08/06 全球购物
英国票务网站:Ticketmaster英国
2018/08/27 全球购物
暑期实践思想汇报
2014/01/06 职场文书
员工薪酬福利制度
2014/01/17 职场文书
责任心演讲稿
2014/05/14 职场文书
聘用意向书
2014/07/29 职场文书
装饰公司活动策划方案
2014/08/23 职场文书
感谢信
2019/04/11 职场文书
2019最新版试用期劳动合同模板!
2019/07/04 职场文书
用Python提取PDF表格的方法
2021/04/11 Python
elasticSearch-api的具体操作步骤讲解
2021/06/28 Java/Android
MySQL选择合适的备份策略和备份工具
2022/06/01 MySQL