|
目前大多數(shù)瀏覽器都已經(jīng)支持頁(yè)面的壓縮輸出,通過(guò)壓縮輸出,頁(yè)面大小可以減少30%,但是由于3.0及以前的版本都沒(méi)有內(nèi)置頁(yè)面壓縮輸出功能,所以一般來(lái)說(shuō),開(kāi)發(fā)人員需要自己在入口文件中添加:
ob_start('ob_gzhandler');
但是由于服務(wù)器環(huán)境的不同,有時(shí)候這個(gè)配置會(huì)和php.ini文件中的zlib壓縮配置沖突。而Thinkphp3.1版則內(nèi)置了頁(yè)面壓縮輸出的功能,不再需要再手動(dòng)添加ob_gzhandler代碼,增加OUTPUT_ENCODE配置參數(shù),并支持檢測(cè)zlib.output_compression。
框架默認(rèn)會(huì)進(jìn)行頁(yè)面壓縮輸出,并且會(huì)自動(dòng)檢測(cè)zlib.output_compression配置,如果php.ini里面zlib.output_compression是開(kāi)啟狀態(tài),則仍然以服務(wù)器環(huán)境的頁(yè)面壓縮方式進(jìn)行頁(yè)面壓縮。
相關(guān)代碼只有一行:
if(!ini_get('zlib.output_compression') && C('OUTPUT_ENCODE')) ob_start('ob_gzhandler');
在個(gè)別特殊的環(huán)境下面,如果出現(xiàn)類似下面的錯(cuò)誤提示:
output_handler "ob_gzhandler" conflicts with "zlib.output_compression"
一般是由于你的服務(wù)器配置了其他的壓縮方式導(dǎo)致沖突,這個(gè)時(shí)候你可以手動(dòng)關(guān)閉OUTPUT_ENCODE,即:
'OUTPUT_ENCODE'=>false
就可以解決問(wèn)題。
php技術(shù):ThinkPHP3.1新特性之對(duì)頁(yè)面壓縮輸出的支持,轉(zhuǎn)載需保留來(lái)源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。