网页启用GZIP压缩,或多或少有助于提高网站性能。
那么,thinkphp怎么启用GZIP压缩呢?
有的人说在公共的 Action 里重写 display 函数即可(注意:这种方法其实是比较笨的)
protected function display($templateFile='',$charset='',$contentType='text/html'){
if (extension_loaded('zlib') && strstr($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip')) {
ini_set('zlib.output_compression', 'On');
ini_set('zlib.output_compression_level',3);
ob_start('ob_gzhandler');
parent::display($templateFile,$charset,$contentType);
ob_end_flush();
}else {
parent::display($templateFile,$charset,$contentType);
}
}
从上面的代码来看,其实在thinkphp的入口文件加上这两句就行了,不用那么麻烦
//开启压缩
define( "GZIP_ENABLE", function_exists ( 'ob_gzhandler') );
ob_start( GZIP_ENABLE ? 'ob_gzhandler': null );
更多优化方面的技术帖,请关注天津网站建设 天津文率科技的官方网站 www.wenshuai.cn