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 相关文章推荐
linux php mysql数据库备份实现代码
Mar 10 PHP
php Sql Server连接失败问题及解决办法
Aug 07 PHP
php 计划任务 检测用户连接状态
Mar 29 PHP
PHP面向对象学习笔记之一 基础概念
Oct 06 PHP
深入掌握include_once与require_once的区别
Jun 17 PHP
php curl_init函数用法
Jan 31 PHP
php使用fopen创建utf8编码文件的方法
Oct 31 PHP
phpQuery让php处理html代码像jQuery一样方便
Jan 06 PHP
php返回字符串中所有单词的方法
Mar 09 PHP
PHP实现获取客户端IP并获取IP信息
Mar 17 PHP
功能强大的PHP图片处理类(水印、透明度、旋转)
Oct 21 PHP
详解PHP的Laravel框架中Eloquent对象关系映射使用
Feb 26 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 生成唯一id的几种解决方法
2013/03/08 PHP
php检测url是否存在的方法
2015/04/14 PHP
php需登录的文件上传管理系统
2020/03/21 PHP
PHP 与 UTF-8 的最佳实践详细介绍
2017/01/04 PHP
form自动提交实例讲解
2017/07/10 PHP
几款极品的javascript压缩混淆工具
2007/05/16 Javascript
电子商务网站上的常用的js放大镜效果
2011/12/08 Javascript
jQuery实现点击标题输入详细信息
2013/04/16 Javascript
简述JavaScript提交表单的方式 (Using JavaScript Submit Form)
2016/03/18 Javascript
jquery实现全选功能效果的实现代码
2016/05/05 Javascript
jQuery用户头像裁剪插件cropbox.js使用详解
2017/06/07 jQuery
使用json-server简单完成CRUD模拟后台数据的方法
2018/07/12 Javascript
微信小程序实现指定显示行数多余文字去掉用省略号代替
2018/07/25 Javascript
在vue中高德地图引入和轨迹的绘制的实现
2019/10/11 Javascript
如何利用nodejs自动定时发送邮件提醒(超实用)
2020/12/01 NodeJs
[10:49]2014国际邀请赛 叨叨刀塔第二期为真正的电竞喝彩
2014/07/21 DOTA
跟老齐学Python之通过Python连接数据库
2014/10/28 Python
使用Python求解最大公约数的实现方法
2015/08/20 Python
python中利用Future对象异步返回结果示例代码
2017/09/07 Python
使用pip发布Python程序的方法步骤
2018/10/11 Python
Pandas数据离散化原理及实例解析
2019/11/16 Python
python-web根据元素属性进行定位的方法
2019/12/13 Python
宝塔面板成功部署Django项目流程(图文)
2020/06/22 Python
如何用Anaconda搭建虚拟环境并创建Django项目
2020/08/02 Python
CSS3 实现弹跳的小球动画
2020/10/26 HTML / CSS
西班牙在线宠物食品和配件商店:bitiba
2019/10/11 全球购物
岗位职责的含义
2013/11/17 职场文书
《会变的花树叶》教学反思
2014/02/10 职场文书
药品业务员岗位职责
2014/04/17 职场文书
2016新年慰问信范文
2015/03/25 职场文书
2015年酒店年度工作总结
2015/05/23 职场文书
致我们终将逝去的青春观后感
2015/06/10 职场文书
叶问观后感
2015/06/15 职场文书
python3 hdf5文件 遍历代码
2021/05/19 Python
idea搭建可运行Servlet的Web项目
2021/06/26 Java/Android
bootstrapv4轮播图去除两侧阴影及线框的方法
2022/02/15 HTML / CSS