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函数解决SQL injection
Dec 09 PHP
PHP 用数组降低程序的时间复杂度
Dec 04 PHP
php笔记之:文章中图片处理的使用
Apr 26 PHP
使用php伪造referer的方法 利用referer防止图片盗链
Jan 20 PHP
使用Discuz关键词服务器实现PHP中文分词
Mar 11 PHP
PHP中strlen()和mb_strlen()的区别浅析
Jun 19 PHP
PHP实现的线索二叉树及二叉树遍历方法详解
Apr 25 PHP
php生成mysql的数据字典
Jul 07 PHP
PHP面向对象程序设计中的self、static、parent关键字用法分析
Aug 14 PHP
laravel http 自定义公共验证和响应的方法
Sep 29 PHP
ThinkPHP5分页paginate代码实例解析
Nov 10 PHP
php的lavarel框架中join和orWhere的用法
Dec 28 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 csv操作类代码
2009/12/14 PHP
PHP Session 变量的使用方法详解与实例代码
2013/09/11 PHP
php实现SAE上使用storage上传与下载文件的方法
2015/06/29 PHP
php统计数组元素个数的方法
2015/07/02 PHP
php求一个网段开始与结束IP地址的方法
2015/07/09 PHP
以实例全面讲解PHP中多进程编程的相关函数的使用
2015/08/18 PHP
Joomla简单判断用户是否登录的方法
2016/05/04 PHP
PHP中phar包的使用教程
2017/06/14 PHP
PHP7 windows支持
2021/03/09 PHP
jquery.qrcode在线生成二维码使用示例
2013/08/21 Javascript
使用正则表达式的格式化与高亮显示json字符串
2014/12/03 Javascript
AngularJs实现ng1.3+表单验证
2015/12/10 Javascript
用js制作淘宝放大镜效果
2020/10/28 Javascript
Bootstrap栅格系统使用方法及页面调整变形的解决方法
2017/03/10 Javascript
Jquery获取radio选中的值
2017/05/05 jQuery
使用Vue实现图片上传的三种方式
2018/07/17 Javascript
vue 中使用 watch 出现了如下的报错的原因分析
2019/05/21 Javascript
深入了解Hybrid App技术的相关知识
2019/07/17 Javascript
python实现简单的socket server实例
2015/04/29 Python
python+requests+unittest API接口测试实例(详解)
2017/06/10 Python
Python使用numpy模块实现矩阵和列表的连接操作方法
2019/06/26 Python
Python面向对象之Web静态服务器
2019/09/03 Python
python常用排序算法的实现代码
2019/11/08 Python
Sunglasses Shop荷兰站:英国最大的太阳镜独立在线零售商和供应商
2017/01/08 全球购物
美国翻新电子产品商店:The Store
2019/10/08 全球购物
双创工作实施方案
2014/03/26 职场文书
学校课外活动总结
2014/05/08 职场文书
中药学专业求职信
2014/05/31 职场文书
环境日宣传活动总结
2014/07/09 职场文书
党的群众路线教育实践活动个人整改措施
2014/10/27 职场文书
2015年员工试用期工作总结
2014/12/12 职场文书
人事行政助理岗位职责
2015/04/11 职场文书
事业单位岗位说明书
2015/10/08 职场文书
修改MySQL的默认密码的四种小方法
2021/05/26 MySQL
【海涛教你打DOTA】黑鸟第一视角解说
2022/04/01 DOTA
Android学习之BottomSheetDialog组件的使用
2022/06/21 Java/Android