您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“如何讓PHP引擎快速運轉”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“如何讓PHP引擎快速運轉”這篇文章吧。
一、代碼優化
一談到代碼優化,或許你想到的就是整齊明了的代碼,但是本文的意思卻不是在此,因為如果要尋求速度的話,就要對PHP源碼作相應的調整。一般說來就是去掉多余的注釋,讓代碼不可讀。但是這對于一個具有良好素養的程序員來說,簡直就是不可思議的。好在ZendTechnologies 公司發布了Zend 優化引擎可以幫助你做到這一點。它現在是免費的,但是你必須遵循 Zend Optimizer許可。這個產品可以對引擎產生的中間代碼進行優化。
安裝這個引擎比較簡單,下載對應平臺的版本以后,解開壓縮文件,然后在 php.ini 文件里面加上下面兩行,重新啟動 Web 服務器,就搞定了。
zend_optimizer.optimization_level=15 zend_extension="/path/to/ZendOptimizer.so" zend_loader.enable=Off
如果是 Win32 平臺的應該是:
zend_optimizer.optimization_level=15 zend_extension_ts="C:\\path\\to\\ZendOptimizer.dll" zend_loader.enable=Off
其實第三行是可選的。因為看起來把 zend_loader 關掉能提高一點速度,因此值得把這第三行放到 php.ini 。需要注意的是,關掉的前提條件是你沒有在使用 Zend 加密程序。
二、緩沖
如果想要更進一步提升速度,我們就需要考慮采用緩沖技術了。有一些可選的解決方案,包括 Zend Cache (測試版本), APC, 以及 Afterburner Cache,另外還有 jpCache 等。
以上這些都是屬于緩沖模塊,他們把***次對 .php 文件請求產生的中間代碼存儲在 Web 服務器的內存中,然后對以后的請求返回“編譯好”的版本。因為這樣減少了磁盤讀寫,而且都在內存工作,所以這個過程能顯著提升應用性能,現成的這類產品比較多,到底選擇誰呢?
Zend Cache 是一款不錯的商業產品,在***次加載那些很大的 PHP 頁面后,你會明顯感受到速度的提升,服務器會留出更多的資源。可惜這個產品是要花銀子的,但是在有些情形下,你可不要吝嗇這些銀子。
Afterburner Cache 是 Bware Technologies 的產品,目前還處于 Beta 版本,看起來似乎和Zend Cashe 一樣,但是它不能達到 Zend Cache 那樣好的效果,也不能和 Zend優化引擎一起工作,但是它是免費的,所以我采用了這個模塊。
APC (Alternative PHP Cache) 是 Community Connect 發布的又一個免費模塊,看起來似乎可以用于生產環境了。
三、Web 內容壓縮
對于日益擁擠的網絡來說,節約帶寬就像節約用水一樣是十分值得提倡的。根據IETF 標準,大多數瀏覽器應該支持使用 gzip 壓縮的內容。也就是說你可以把用 gzip 壓縮的內容發送給瀏覽器,瀏覽器會透明的解壓數據。
mod_gzip是 Remote Communications 公司推出的免費 Apache 模塊,能把靜態的Web內容壓縮后發送給瀏覽器。對于大多數靜態網頁來說,這個模塊十分合適。盡管Remote Communications公司的人說這個模塊支持所有那些mod_php, mod_perl,mod 什么產生的動態內容,但是看起來還是不能工作,從 mod_gzip的郵件列表來看,這個問題估計要到1.3.14.6f 才能解決。
如果要壓縮動態內容的話,我們可以采用class.gzip_encode.php,一個在腳本開始和結束時使用的 PHP類。對整個網站來說就是在 php.ini 的 auto_prepend 和 auto_append中調用其中的函數。詳細你可以閱讀這個類的程序,這個程序注釋得很好,作者幾乎把什么都告訴你了。不過使用之前,你的PHP要編譯為支持zlib。
對于PHP 5來說,一個新的解決方案就是使用 ob_gzhandler,能達到和上面的類一樣的效果,只要簡單的在 php.ini 加入下面這句話就可以了:
output_handler = ob_gzhandler ;
這能讓 PHP 激活輸出緩沖,并壓縮所有輸出。如果有什么特殊的理由不想讓所有的內容都壓縮輸出的話,可以采用在 .htaccess 文件中加入下面的行,對對應目錄下的文件進行壓縮。
php_value output_handler ob_gzhandler
也可以直接在 PHP 代碼中加入:
ob_start("ob_gzhandler");
這項壓縮技術十分有效,但是對 Netscape Communicator 用戶來說,因為不能壓縮圖形文件,所以看上去沒有完整的發送,因此必須關閉對 jpeg 和 gif 文件的壓縮,IE 沒有這個問題。
以上是“如何讓PHP引擎快速運轉”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。