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 相关文章推荐
php4的session功能评述(一)
Oct 09 PHP
菜鸟学PHP之Smarty入门
Jan 04 PHP
解析PHP处理换行符的问题 \r\n
Jun 13 PHP
浅析ThinkPHP中execute和query方法的区别
Jun 13 PHP
PHP实现图片压缩的两则实例
Jul 19 PHP
yiic命令时提示“php.exe”不是内部或外部命令的解决方法
Dec 18 PHP
制作安全性高的PHP网站的几个实用要点
Dec 30 PHP
PHP中Http协议post请求参数
Nov 02 PHP
thinkphp3.2框架中where条件查询用法总结
Aug 13 PHP
laravel框架查询数据集转为数组的两种方法
Oct 10 PHP
php 的多进程操作实践案例分析
Feb 28 PHP
PHP实现文件上传与下载
Aug 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者的疑难问答(2)
2006/10/09 PHP
php和js交互一例-PHP教程,PHP应用
2007/01/03 PHP
PHP三层结构(上) 简单三层结构
2010/07/04 PHP
php 模拟POST|GET操作实现代码
2010/07/20 PHP
PHP类与对象中的private访问控制的疑问
2012/11/01 PHP
codeigniter中实现一次性加载多个view的方法
2015/03/20 PHP
php使用array_search函数实现数组查找的方法
2015/06/12 PHP
PHP利用imagick生成组合缩略图
2016/02/19 PHP
PHP 数组遍历foreach语法结构及实例
2016/06/13 PHP
ThinkPHP 5 AJAX跨域请求头设置实现过程解析
2020/10/28 PHP
超级简单的图片防盗(HTML),好用
2007/04/08 Javascript
jQuery 学习 几种常用方法
2009/06/11 Javascript
javascript中检测变量的类型的代码
2010/12/28 Javascript
jQuery学习笔记 操作jQuery对象 文档处理
2012/09/19 Javascript
jQuery数据缓存功能的实现思路及简单模拟
2013/05/27 Javascript
jquery如何判断某元素是否具备指定的样式
2013/11/05 Javascript
JavaScript实现简单Tip提示框效果
2016/04/20 Javascript
详解nodejs express下使用redis管理session
2017/04/24 NodeJs
快速了解vue-cli 3.0 新特性
2018/02/28 Javascript
动态加载、移除js/css文件的示例代码
2018/03/20 Javascript
简单了解vue中的v-if和v-show的区别
2019/10/08 Javascript
Python获取服务器信息的最简单实现方法
2015/03/05 Python
【Python】Python的urllib模块、urllib2模块批量进行网页下载文件
2016/11/19 Python
python Pandas库基础分析之时间序列的处理详解
2019/07/13 Python
python seaborn heatmap可视化相关性矩阵实例
2020/06/03 Python
html5指南-2.如何操作document metadata
2013/01/07 HTML / CSS
意大利和国际最佳时尚品牌:Drestige
2019/12/28 全球购物
办公室岗位职责
2014/02/12 职场文书
老人祝寿主持词
2014/03/28 职场文书
小区保洁员岗位职责
2015/04/10 职场文书
爱国主义电影观后感
2015/06/18 职场文书
《大禹治水》教学反思
2016/02/22 职场文书
python学习之panda数据分析核心支持库
2021/05/07 Python
tensorflow中的梯度求解及梯度裁剪操作
2021/05/26 Python
Spring Boot 使用 Spring-Retry 进行重试框架
2022/04/24 Java/Android
MySQL下载安装配置详细教程 附下载资源
2022/09/23 MySQL