偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

三個絕招讓PHP引擎快速運轉

開發(fā) 后端
本文介紹的是可以加快PHP引擎運轉的三個方法,主要從代碼優(yōu)化,緩沖和內容壓縮三個方面給大家介紹的。希望對你有幫助,一起來看。

PHP 獨特的語法混合了 C、Java、Perl 以及 PHP 自創(chuàng)新的語法。它可以比 CGI或者Perl更快速的執(zhí)行動態(tài)網(wǎng)頁。用PHP做出的動態(tài)頁面與其他的編程語言相比,PHP是將程序嵌入到HTML文檔中去執(zhí)行,執(zhí)行效率比完全生成HTML標記的CGI要高許多。下面介紹讓PHP引擎快速運轉的三個方法。

一、代碼優(yōu)化

一談到代碼優(yōu)化,或許你想到的就是整齊明了的代碼,但是本文的意思卻不是在此,因為如果要尋求速度的話,就要對PHP源碼作相應的調整。一般說來就是去掉多余的注釋,讓代碼不可讀。但是這對于一個具有良好素養(yǎng)的程序員來說,簡直就是不可思議的。好在ZendTechnologies 公司發(fā)布了Zend 優(yōu)化引擎可以幫助你做到這一點。它現(xiàn)在是免費的,但是你必須遵循 Zend Optimizer許可。這個產(chǎn)品可以對引擎產(chǎn)生的中間代碼進行優(yōu)化。

安裝這個引擎比較簡單,下載對應平臺的版本以后,解開壓縮文件,然后在 php.ini 文件里面加上下面兩行,重新啟動 Web 服務器,就搞定了。

  1. zend_optimizer.optimization_level=15  
  2. zend_extension="/path/to/ZendOptimizer.so" 
  3. zend_loader.enable=Off 

如果是 Win32 平臺的應該是:

  1. zend_optimizer.optimization_level=15  
  2. zend_extension_ts="C:\\path\\to\\ZendOptimizer.dll" 
  3. zend_loader.enable=Off 

其實第三行是可選的。因為看起來把 zend_loader 關掉能提高一點速度,因此值得把這第三行放到 php.ini 。需要注意的是,關掉的前提條件是你沒有在使用 Zend 加密程序。

二、緩沖

如果想要更進一步提升速度,我們就需要考慮采用緩沖技術了。有一些可選的解決方案,包括 Zend Cache (測試版本), APC, 以及 Afterburner Cache,另外還有 jpCache 等。

以上這些都是屬于緩沖模塊,他們把***次對 .php 文件請求產(chǎn)生的中間代碼存儲在 Web 服務器的內存中,然后對以后的請求返回“編譯好”的版本。因為這樣減少了磁盤讀寫,而且都在內存工作,所以這個過程能顯著提升應用性能,現(xiàn)成的這類產(chǎn)品比較多,到底選擇誰呢?

  • Zend Cache 是一款不錯的商業(yè)產(chǎn)品,在***次加載那些很大的 PHP 頁面后,你會明顯感受到速度的提升,服務器會留出更多的資源??上н@個產(chǎn)品是要花銀子的,但是在有些情形下,你可不要吝嗇這些銀子。
  • Afterburner Cache 是 Bware Technologies 的產(chǎn)品,目前還處于 Beta 版本,看起來似乎和Zend Cashe 一樣,但是它不能達到 Zend Cache 那樣好的效果,也不能和 Zend優(yōu)化引擎一起工作,但是它是免費的,所以我采用了這個模塊。
  • APC (Alternative PHP Cache) 是 Community Connect 發(fā)布的又一個免費模塊,看起來似乎可以用于生產(chǎn)環(huán)境了。

三、Web 內容壓縮

對于日益擁擠的網(wǎng)絡來說,節(jié)約帶寬就像節(jié)約用水一樣是十分值得提倡的。根據(jù)IETF 標準,大多數(shù)瀏覽器應該支持使用 gzip 壓縮的內容。也就是說你可以把用 gzip 壓縮的內容發(fā)送給瀏覽器,瀏覽器會透明的解壓數(shù)據(jù)。

mod_gzip是 Remote Communications 公司推出的免費 Apache 模塊,能把靜態(tài)的Web內容壓縮后發(fā)送給瀏覽器。對于大多數(shù)靜態(tài)網(wǎng)頁來說,這個模塊十分合適。盡管Remote Communications公司的人說這個模塊支持所有那些mod_php, mod_perl,mod 什么產(chǎn)生的動態(tài)內容,但是看起來還是不能工作,從 mod_gzip的郵件列表來看,這個問題估計要到1.3.14.6f 才能解決。

如果要壓縮動態(tài)內容的話,我們可以采用class.gzip_encode.php,一個在腳本開始和結束時使用的 PHP類。對整個網(wǎng)站來說就是在 php.ini 的 auto_prepend 和 auto_append中調用其中的函數(shù)。詳細你可以閱讀這個類的程序,這個程序注釋得很好,作者幾乎把什么都告訴你了。不過使用之前,你的PHP要編譯為支持zlib。

對于PHP 5來說,一個新的解決方案就是使用 ob_gzhandler,能達到和上面的類一樣的效果,只要簡單的在 php.ini 加入下面這句話就可以了:

  1. output_handler = ob_gzhandler ; 

這能讓 PHP 激活輸出緩沖,并壓縮所有輸出。如果有什么特殊的理由不想讓所有的內容都壓縮輸出的話,可以采用在 .htaccess 文件中加入下面的行,對對應目錄下的文件進行壓縮。

php_value output_handler ob_gzhandler

也可以直接在 PHP 代碼中加入:

  1. ob_start("ob_gzhandler"); 

這項壓縮技術十分有效,但是對 Netscape Communicator 用戶來說,因為不能壓縮圖形文件,所以看上去沒有完整的發(fā)送,因此必須關閉對 jpeg 和 gif 文件的壓縮,IE 沒有這個問題。

四、結論

采用本文所討論的技術應該能改善你的網(wǎng)站性能,但是需要注意的是:

PHP 可能不是導致瓶頸的原因,仔細檢查其他原因(例如:數(shù)據(jù)庫)

你不可能把服務器性能調節(jié)到***狀態(tài)。因此在埋怨PHP及其緩沖之前,考慮是否該升級服務器了,或者采用動態(tài)負載平衡技術。

不要低估內容壓縮,在你100 Mb的內部網(wǎng)上面看到 PHP 應用的速度提升時,不要忘記使用調制解調器的用戶在哪里埋怨你的 100Kb 的 HTML 頁面。

希望通過以上內容的介紹,能夠給你帶來幫助。

【編輯推薦】

  1. PHP正則表達式 PHP中的正則函數(shù)
  2. PHP開發(fā)程序應該注意的42個優(yōu)化準則
  3. PHP開發(fā)必備 一步步學PHP模版引擎Dwoo
  4. PHP開發(fā)必備 PHP模版引擎Dwoo深入學習
  5. 非常實用 十個PHP高級應用技巧
責任編輯:于鐵 來源: 互聯(lián)網(wǎng)
相關推薦

2009-04-16 09:13:09

PHP代碼優(yōu)化提速

2022-07-15 08:52:10

代碼Java設計模式

2018-08-23 08:18:38

AI偵探AI破案

2024-03-07 12:51:44

代碼CRUD數(shù)據(jù)

2010-08-06 17:09:14

加薪

2010-05-19 18:11:05

2015-04-16 13:46:01

PaaSApp Engine

2010-05-17 16:04:40

MySQL數(shù)據(jù)庫

2010-10-19 15:01:01

2020-06-11 09:00:27

SDN網(wǎng)絡架構網(wǎng)絡

2022-01-06 22:31:21

Python技巧代碼

2023-04-26 11:14:11

IT領導者遠程工作

2009-11-16 11:07:26

PHP上傳圖片

2011-06-03 09:25:16

IP

2013-04-10 09:35:22

程序員

2009-05-27 10:23:03

表管理列管理Oracle

2010-11-24 10:49:38

2009-11-26 15:10:25

PHP調用系統(tǒng)命令函數(shù)

2013-08-21 11:11:35

大數(shù)據(jù)
點贊
收藏

51CTO技術棧公眾號