如何提高PHP速度第2/3頁
更新時間:2007年02月22日 00:00:00 作者:
來自Remote Communications的免費Apache模塊mod_gzip就具有為支持這類內容編碼的瀏覽器壓縮靜態(tài)Web內容的能力。對于絕大多數靜態(tài)Web內容,mod_gzip都非常有效。mod_gzip可以方便地編譯到Apache里面,也可以作為DSO使用。據Remote communications公司說,mod_gzip也能夠壓縮來自mod_php、mod_perl等的動態(tài)內容。我試了一次又一次,但看來還是不行。我看了許多關于mod_gzip的論壇和文章,看來到了mod_gzip的下一個版本(可能是1.3.14.6f)這個問題有望得到解決。在此之前,我們可以在網站的靜態(tài)部分使用mod_gzip。
然而有時我們確實需要壓縮動態(tài)內容,所以必須找找其他辦法。有一種辦法是使用class.gzip_encode.php,這是一個可以用來壓縮頁面內容的PHP類,具體方法是在PHP腳本的開頭和末尾調用該類的某些函數。如果要在網站級實現這個方案,可以從php.ini文件的auto_prepend以及auto_append指令調用這些函數。這種方法雖然有效,但它無疑為高負載的網站帶來了更多的開銷。關于如何使用這個類的詳細說明,請參見它的源代碼。它的源代碼說明相當完善,作者告訴了你所有你必須知道的事情。
PHP 4.0.4有一個新的輸出緩存句柄ob_gzhandler,它與前面的類相似,但用法不同。使用ob_gzhandler時要在php.ini中加入的內容如下:
output_handler = ob_gzhandler ;
這行代碼使得PHP激活輸出緩存,并壓縮它發(fā)送出去的所有內容。如果由于某種原因你不想在php.ini中加上這行代碼,你還可以通過PHP源文件所在目錄的.htaccess文件改變默認的服務器行為(不壓縮),語法如下:
php_value output_handler ob_gzhandler
或者是從PHP代碼調用,如下所示:
ob_start("ob_gzhandler");
采用輸出緩存句柄的方法確實非常有效,而且不會給服務器帶來什么特殊的負荷。但必須注意的是,Netscape Communicator對壓縮圖形的支持不佳,因此除非你能夠保證所有用戶都使用IE瀏覽器,否則你應該禁止壓縮JPEG和GIF圖形。一般地,對于所有其他文件,這種壓縮都有效,但建議你針對各種瀏覽器都分別進行測試,特別是當你使用了特殊的插件或者數據查看器時這一點尤其重要。
相關文章
php lcg_value與mt_rand生成0~1隨機小數的效果對比分析
下面小編就為大家?guī)硪黄猵hp lcg_value與mt_rand生成0~1隨機小數的效果對比分析。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-04-04