如何提高PHP的運行速度

今天就跟大家聊聊有關如何提高PHP的運行速度,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

十年的小店網(wǎng)站建設經(jīng)驗,針對設計、前端、開發(fā)、售后、文案、推廣等六對一服務,響應快,48小時及時工作處理。成都全網(wǎng)營銷推廣的優(yōu)勢是能夠根據(jù)用戶設備顯示端的尺寸不同,自動調(diào)整小店建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設計,從而大程度地提升瀏覽體驗。成都創(chuàng)新互聯(lián)從事“小店網(wǎng)站設計”,“小店網(wǎng)站推廣”以來,每個客戶項目都認真落實執(zhí)行。

1、代碼優(yōu)化

代碼優(yōu)化不僅僅是寫出干凈和清晰的代碼,而是對代碼進行一定的簡化??梢允褂肸end Optimizer來自動幫助完成這些繁雜的工作。Zend Optimizer可以從Zend Technologies的網(wǎng)站http://www.zend.com/免費得到,但必須同意它的許可約定,因為它不是以GPL方式發(fā)行的。它的原理很簡單,即通過檢測Zend引擎產(chǎn)生的中間代碼,并對它進行優(yōu)化,從而獲得更高的執(zhí)行速度。

在使用了Zend Optimizer后,復雜的PHP源程序的執(zhí)行效率馬上會得到顯著提高,缺點是優(yōu)化后的代碼可讀性下降,給代碼修改帶來困難。

Zend Optimizer的安裝方法非常簡單,只要根據(jù)用戶使用的平臺,下載相關的預編譯版本,把下面2行代碼加入到php.ini文件中,重新啟動Web 服務器就行了:

zend_optimizer.optimization_level=15   zend_extension=″/path/to/ZendOptimizer.so″  zend_loader.enable=Off

額外增加的第三行代碼是可選的,因為禁用zend_loader將會使優(yōu)化速度更快。需要注意的是,只有在不使用Zend Encoder Runtime的時候,才可以禁用zend_loader。

2、使用緩存

如果PHP程序的規(guī)模很大,那么提高速度的辦法就是使用緩存?,F(xiàn)在已經(jīng)有許多緩存方案可供選擇,其中包括Zend Cache、APC和Afterburner Cache。

上面這幾種都是“緩存模塊”(caching modules)。***次調(diào)用PHP文件時,緩存模塊從PHP源代碼生成一些中間代碼,并把這些中間代碼存儲在Web服務器的內(nèi)存中。以后再調(diào)用這些文件時,就可以直接使用內(nèi)存中“編譯”過的代碼。這種方法確實能夠改善應用的性能,因為它使得磁盤訪問量減低到了最少的程度(代碼已經(jīng)讀取和解析),代碼直接在內(nèi)存中運行,使得服務器響應請求的速度大大提高。

當然,緩存模塊還會監(jiān)視PHP源文件的變化,必要時會重新緩存頁面,從而防止用戶得到的頁面仍舊由過時的PHP代碼生成。由于緩存模塊能夠明顯地降低服務器的負載,提高PHP應用的響應效率,因此它們非常適合于負載較大的網(wǎng)站使用。

Zend Cache是Zend Technologies公司開發(fā)的商業(yè)軟件。在***次運行后,PHP頁面的運行速度立刻會有很大的提高,服務器的空閑資源也更多了。缺點是它不是免費的,但性價比還是很高的。

Afterburner Cache是Bware Technologies公司開發(fā)的免費緩存模塊。功能與Zend Cache基本一樣,但提高性能方面比不上Zend Cache。

APC(Alternative PHP Cache)是由Community Connect公司開發(fā)的另一種免費緩存模塊,目前版本是2.0.4,可以從http://pecl.php.net/package/APC獲得。對于產(chǎn)品應用來說,它的性能很穩(wěn)定,而且也能在很大程度上提高響應請求的速度。

3、壓縮網(wǎng)頁內(nèi)容

影響站點的訪問速度還有1個重要因素,那就是下載速度。解決的辦法就是壓縮網(wǎng)頁內(nèi)容。對于純文本內(nèi)容而言,HTTP壓縮技術可壓縮至原大小的40%以下,從而提供60%以上的數(shù)據(jù)傳輸節(jié)約。雖然Web服務器會因為壓縮導致CPU占用的略微上升,但可以節(jié)約大量用于傳輸?shù)木W(wǎng)絡IO。

根據(jù)IETF規(guī)范,大部分瀏覽器都支持使用gzip壓縮算法進行內(nèi)容壓縮。也就是說,可以先用gzip壓縮網(wǎng)頁內(nèi)容,然后發(fā)送到客戶端瀏覽器,瀏覽器在接收的時候會自動解壓數(shù)據(jù),再顯示頁面。這個過程對用戶來說,是完全透明的。同樣,壓縮Web頁面的內(nèi)容也有不同的方法。

Mod_gzip是1種開放源代碼的、標準的Apache模塊,也叫互聯(lián)網(wǎng)內(nèi)容加速模塊??梢詫⑺虯pache一起編譯,也可以作為DSO使用。相對于普通的瀏覽過程,它可以節(jié)省40%左右的流量。Mod_gzip不僅可以壓縮靜態(tài)的內(nèi)容,如HTML、XML,而且對動態(tài)生成的,包括SQL、Java、WML、VRML等產(chǎn)生的內(nèi)容,在服務器端進行實時壓縮并傳輸,其壓縮效率驚人,一般都為60%~85%。

壓縮動態(tài)網(wǎng)頁的內(nèi)容,還可以使用class.gzip來對.php文件編碼,class.gzip通過在PHP腳本的開頭和結尾調(diào)用它的一些函數(shù)來壓縮網(wǎng)頁內(nèi)容。如果整個站點都需要這樣的壓縮,可以在php.ini文件中的auto_prepend和auto_append中調(diào)用這些函數(shù),但是會占用一定的系統(tǒng)開銷。

PHP4.0.4推出了1種新的輸出緩沖的處理手段—ob_gzhandler,它的作用和class.gzip完全一樣,區(qū)別是可以直接把它加到php.ini 文件中,語法如下: 

output_handler = ob_gzhandler;

這樣將激活PHP的輸出緩沖功能,并在發(fā)送內(nèi)容前進行壓縮。如果不想在這里設置,只在需要的地方才改變這個默認設置(不壓縮),只要在需要壓縮的PHP源程序目錄中,修改一下.htaccess文件就行了,語法如下: 

php_value output_handler ob_gzhandler

或者直接在PHP代碼中調(diào)用它:

ob_start(″ob_gzhandler″);

輸出緩沖的效果確實很理想,并且不會為服務器帶來額外的系統(tǒng)開銷。要注意的一點是Netscape Communicator不支持圖像的壓縮。因此除非知道訪問者都使用Internet Explorer,否則必須禁止壓縮jpeg和gif圖象。

看完上述內(nèi)容,你們對如何提高PHP的運行速度有進一步的了解嗎?如果還想了解更多知識或者相關內(nèi)容,請關注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。

新聞標題:如何提高PHP的運行速度
本文網(wǎng)址:http://muchs.cn/article12/jogpgc.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁設計公司云服務器、品牌網(wǎng)站建設軟件開發(fā)、動態(tài)網(wǎng)站、響應式網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站建設網(wǎng)站維護公司