這篇文章主要為大家展示了“如何讓PHP引擎快速運(yùn)轉(zhuǎn)”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“如何讓PHP引擎快速運(yùn)轉(zhuǎn)”這篇文章吧。
創(chuàng)新互聯(lián)公司是一家專業(yè)提供永清企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站制作、成都做網(wǎng)站、外貿(mào)營銷網(wǎng)站建設(shè)、H5技術(shù)、小程序制作等業(yè)務(wù)。10年已為永清眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)的建站公司優(yōu)惠進(jìn)行中。
一、代碼優(yōu)化
一談到代碼優(yōu)化,或許你想到的就是整齊明了的代碼,但是本文的意思卻不是在此,因?yàn)槿绻獙で笏俣鹊脑?,就要對PHP源碼作相應(yīng)的調(diào)整。一般說來就是去掉多余的注釋,讓代碼不可讀。但是這對于一個(gè)具有良好素養(yǎng)的程序員來說,簡直就是不可思議的。好在ZendTechnologies 公司發(fā)布了Zend 優(yōu)化引擎可以幫助你做到這一點(diǎn)。它現(xiàn)在是免費(fèi)的,但是你必須遵循 Zend Optimizer許可。這個(gè)產(chǎn)品可以對引擎產(chǎn)生的中間代碼進(jìn)行優(yōu)化。
安裝這個(gè)引擎比較簡單,下載對應(yīng)平臺(tái)的版本以后,解開壓縮文件,然后在 php.ini 文件里面加上下面兩行,重新啟動(dòng) Web 服務(wù)器,就搞定了。
zend_optimizer.optimization_level=15 zend_extension="/path/to/ZendOptimizer.so" zend_loader.enable=Off
如果是 Win32 平臺(tái)的應(yīng)該是:
zend_optimizer.optimization_level=15 zend_extension_ts="C:\\path\\to\\ZendOptimizer.dll" zend_loader.enable=Off
其實(shí)第三行是可選的。因?yàn)榭雌饋戆?zend_loader 關(guān)掉能提高一點(diǎn)速度,因此值得把這第三行放到 php.ini 。需要注意的是,關(guān)掉的前提條件是你沒有在使用 Zend 加密程序。
二、緩沖
如果想要更進(jìn)一步提升速度,我們就需要考慮采用緩沖技術(shù)了。有一些可選的解決方案,包括 Zend Cache (測試版本), APC, 以及 Afterburner Cache,另外還有 jpCache 等。
以上這些都是屬于緩沖模塊,他們把***次對 .php 文件請求產(chǎn)生的中間代碼存儲(chǔ)在 Web 服務(wù)器的內(nèi)存中,然后對以后的請求返回“編譯好”的版本。因?yàn)檫@樣減少了磁盤讀寫,而且都在內(nèi)存工作,所以這個(gè)過程能顯著提升應(yīng)用性能,現(xiàn)成的這類產(chǎn)品比較多,到底選擇誰呢?
Zend Cache 是一款不錯(cuò)的商業(yè)產(chǎn)品,在***次加載那些很大的 PHP 頁面后,你會(huì)明顯感受到速度的提升,服務(wù)器會(huì)留出更多的資源??上н@個(gè)產(chǎn)品是要花銀子的,但是在有些情形下,你可不要吝嗇這些銀子。
Afterburner Cache 是 Bware Technologies 的產(chǎn)品,目前還處于 Beta 版本,看起來似乎和Zend Cashe 一樣,但是它不能達(dá)到 Zend Cache 那樣好的效果,也不能和 Zend優(yōu)化引擎一起工作,但是它是免費(fèi)的,所以我采用了這個(gè)模塊。
APC (Alternative PHP Cache) 是 Community Connect 發(fā)布的又一個(gè)免費(fèi)模塊,看起來似乎可以用于生產(chǎn)環(huán)境了。
三、Web 內(nèi)容壓縮
對于日益擁擠的網(wǎng)絡(luò)來說,節(jié)約帶寬就像節(jié)約用水一樣是十分值得提倡的。根據(jù)IETF 標(biāo)準(zhǔn),大多數(shù)瀏覽器應(yīng)該支持使用 gzip 壓縮的內(nèi)容。也就是說你可以把用 gzip 壓縮的內(nèi)容發(fā)送給瀏覽器,瀏覽器會(huì)透明的解壓數(shù)據(jù)。
mod_gzip是 Remote Communications 公司推出的免費(fèi) Apache 模塊,能把靜態(tài)的Web內(nèi)容壓縮后發(fā)送給瀏覽器。對于大多數(shù)靜態(tài)網(wǎng)頁來說,這個(gè)模塊十分合適。盡管Remote Communications公司的人說這個(gè)模塊支持所有那些mod_php, mod_perl,mod 什么產(chǎn)生的動(dòng)態(tài)內(nèi)容,但是看起來還是不能工作,從 mod_gzip的郵件列表來看,這個(gè)問題估計(jì)要到1.3.14.6f 才能解決。
如果要壓縮動(dòng)態(tài)內(nèi)容的話,我們可以采用class.gzip_encode.php,一個(gè)在腳本開始和結(jié)束時(shí)使用的 PHP類。對整個(gè)網(wǎng)站來說就是在 php.ini 的 auto_prepend 和 auto_append中調(diào)用其中的函數(shù)。詳細(xì)你可以閱讀這個(gè)類的程序,這個(gè)程序注釋得很好,作者幾乎把什么都告訴你了。不過使用之前,你的PHP要編譯為支持zlib。
對于PHP 5來說,一個(gè)新的解決方案就是使用 ob_gzhandler,能達(dá)到和上面的類一樣的效果,只要簡單的在 php.ini 加入下面這句話就可以了:
output_handler = ob_gzhandler ;
這能讓 PHP 激活輸出緩沖,并壓縮所有輸出。如果有什么特殊的理由不想讓所有的內(nèi)容都?jí)嚎s輸出的話,可以采用在 .htaccess 文件中加入下面的行,對對應(yīng)目錄下的文件進(jìn)行壓縮。
php_value output_handler ob_gzhandler
也可以直接在 PHP 代碼中加入:
ob_start("ob_gzhandler");
這項(xiàng)壓縮技術(shù)十分有效,但是對 Netscape Communicator 用戶來說,因?yàn)椴荒軌嚎s圖形文件,所以看上去沒有完整的發(fā)送,因此必須關(guān)閉對 jpeg 和 gif 文件的壓縮,IE 沒有這個(gè)問題。
以上是“如何讓PHP引擎快速運(yùn)轉(zhuǎn)”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
網(wǎng)頁標(biāo)題:如何讓PHP引擎快速運(yùn)轉(zhuǎn)
文章來源:http://www.rwnh.cn/article6/gopsig.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開發(fā)、自適應(yīng)網(wǎng)站、搜索引擎優(yōu)化、微信小程序、品牌網(wǎng)站設(shè)計(jì)、網(wǎng)站設(shè)計(jì)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)