ThinkPHP3.1新特性之对页面压缩输出的支持
2014-06-19 15:44
232 查看
目前大多数浏览器都已经支持页面的压缩输出,通过压缩输出,页面大小可以减少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
就可以解决问题。
您可能感兴趣的文章:
相关文章推荐
- ThinkPHP3.1新特性之对页面压缩输出的支持
- ThinkPHP3.1新特性:页面压缩输出…
- 【thinkphp3.x】thinkphp3.x中页面压缩输出支持
- ThinkPHP3.1新特性之内容解析输出详解
- ThinkPHP3.1新特性之对分组支持的改进与完善概述
- ThinkPHP3.1新特性之多层MVC的支持
- ThinkPHP3.1新特性: 多层MVC支持
- ThinkPHP3.1新特性之对Ajax的支持更加完善
- ThinkPHP3.1新特性之内容解析输出详解
- ThinkPHP3.1新特性: 多层MVC支持
- ThinkPHP3.1新特性之对Ajax的支持更加完善
- ThinkPHP3.1新特性之多层MVC的支持
- ThinkPHP3.1新特性之对分组支持的改进与完善概述
- thinkphp,页面输出压缩
- 新特性对数组的支持(可变参数的使用、foreach输出的使用)
- ThinkPHP3.1新特性:Action参数绑…
- PHP使用zlib扩展实现页面GZIP压缩输出
- ThinkPHP3.1新特性:字段合法性检…
- ThinkPHP3.1新特性:命名范围
- 性能提升-----将页面输出进行压缩