本文目錄一覽:
- 1、為什麼打開php網頁緩慢?
- 2、哪種php加速器最靠譜APC,XCache,eAccelerator
- 3、IIS中已安裝了PHP,可以打開PHP和ASP,為什麼
- 4、PHP核心是什麼?
- 5、提高PHP開發效率的技巧
- 6、PHP如何加速到最快
為什麼打開php網頁緩慢?
目錄直讀模式?
是否指的自動從某目錄讀取該目錄及子目錄下的所有圖片然後輸出?
如果是的話這個過程PHP要遍歷目錄,特別是在該目錄下文件或子目錄比較多的情況下可能速度比較慢。
如果PHP是直接得到一個地址用img /標籤顯示的話應該跟HTML差不多才對。
哪種php加速器最靠譜APC,XCache,eAccelerator
這些加速器統稱Opcode Cache,全部都支持opcode cache功能,性能差距也不大,zhao yi說得對,哪個用在你的項目中沒問題就先用着哪個。
除opcode cache外,人們也經常用他們的變量緩存功能(與memcached不一樣,apc/eac/xcache他們是存在本地內存里的,免去了網絡開銷,更快),早期的eac不支持變量緩存,後來支持了。xcache是中國人作品,幾乎跟apc功能一樣。
此外,08年的時候,我們曾經遭遇APC Bomb問題,據國外社區說xcache在這個問題上表現好一點,後來我們用另外的方法搞定了,沒有測試數據表明是不是xcache好一點。
IIS中已安裝了PHP,可以打開PHP和ASP,為什麼
PHP我就就是按下面那個優化的,感覺沒什麼問題呃,不知道具體原因什麼方法都有可能,不能說是垃圾的,再說人家也問了不只一個問題的嘛,誰都不能保證對錯,妄加評論別人總是不太好的,至少出力了,複製個網址跟複製內容本身是一樣樣的,都為lz想辦法了啊,希望能互相體諒,鄙視一詞用出來是很傷人的、、、
可以打開ASP的
因為WINDOWS 2003 的 IIS 6.0 默認是沒有安裝開啟對ASP的支持 這要我們手動去配置 這一步很簡單 PHP我就就是按下面那個優化的,感覺沒什麼問題呃,不知道具體原因什麼方法都有可能
一 首先在控制面板里運行”添加刪除程序” 選擇安裝IIS 6.0 安裝後IIS 6.0就默認開啟了對ASP的支持 如果發現未允許運行ASP 可按 A B C 步驟去開啟
A:在開始菜單——》程序——》”管理工具”里打開 IIS 6.0 選擇 「WEB 服務擴展」
B:點選 Active Server Pages 組件 和 遠程管理 (HTML) 工具 「Active Server Pages 」 並設置為允許
C:再點選 「Internet 數據連接器」 同時設置為允許即可
二 在「默認網站屬性」窗口上按 「主目錄」標籤 點「配置」按鈕 在彈出的「應用程序配置」窗口中點取「選項」按鈕 勾選「啟用父路徑」 確定 如圖所示
附件內(IISIIS2)
三 配置 WINDOWS 2003 IIS 6.0 的 PHP環境
很多朋友都提到過 WINDOWS 2003 IIS 6.0 按照網上提供的方法 無論怎麼配置都不成功 搜索了一下 看到到處都是同一個版本的翻版轉載 果然是不能成功
現在敘述一下本站在WINDOWS 2003 IIS 6.0 中是如何配置 PHP環境的
讓 IIS6.0 支持 PHP -= php4.3.9 的安裝配置
不建議使用安裝版 這裡選用了 php4.3.9 的解壓版
第一步 解開php-4.3.9-Win32.zip壓縮包 你可以把它放在C:PHP下面
第二步 把 C:PHP下面的 php.ini-dist 文件複製到C:WINDOWS目錄下 並改名成php.ini 根據不同情況你可以自行修改某些參數 首先 我們需要告知PHP在何處可以找到其擴展功能模塊文件 下面修改 C:windowsphp.ini 文件 需要注意的如下
查找 extension_dir 字串 修改為你 PHP 目錄里 extensions 的路徑:
; Directory in which the loadable extensions (modules) reside
extension_dir = “C:PHP”
如上 設為PHP文件的所在目錄即可 本例中可以設為「extension_dir=C:php」
第三步 把 C:phpphp4ts.dll 複製到 C:windowssystem32目錄下
第四步 控制面版——》管理工具——》Internet服務管理器——》點選「Web 服務擴展」——》在右邊窗口點擊「添加一個新的 Web 服務擴展」——》擴展名為 「PHP」——》再點擊「添加」——》在出現的窗口裡填上「C:PHPsapiphp4isapi.dll」 並確定 然後再點選 Web 服務擴展 PHP 並選擇允許 如圖所示(附件:IIS3-IIS6)
第五步 在「默認網站屬性」窗口上按 「主目錄」標籤 點「配置」按鈕 在彈出的「映謝」窗口中點取「添加」按鈕,在彈出的「添加/編輯應用程序擴展名映像」對話框中的「可執行文件」文本框中輸入「c:PHPsapiphp4isapi.dll」 「擴展名」文本框中輸入「.php」(注意一定要有那個點) 並勾選 “檢查文件是否存在”項 如圖所示(附件:IIS7-IIS9)
第六步 在「默認Web站點屬性」窗口上點取「ISAPI篩選器」標籤,點擊「添加」按鈕,在彈出的「篩選器屬性」窗口的「篩選器名稱」中輸入「PHP」 「可執行文件」中瀏覽選定「c:PHPsapiphp4isapi.dll」 然後確定 如圖所示
A:先停止 IIS 6.0的運行 再重新啟動IIS 6.0 意在開始對 PHP 加載 見圖
B:在「默認Web站點屬性」窗口上點取「ISAPI篩選器」標籤 如果看到 PHP 的箭頭綠色且向上 證明 PHP 已經被 IIS 6.0 順利加載起來了 見圖(附件:IIS10)
第七步 在「默認網站屬性」窗口上按 「主目錄」標籤 修改 如果在IIS6.0里對PHP配置為CGI運行模式 即全部加載PHP.exe 執行權限 為「腳本和可執行文件」 反之 運行在ISAPI模式下 即全部加載PHP4isapi.dll 則保持默認的”純腳本”即可 這樣可進一步加強系統的安全性 應用程序池 為 「 DefaultAppPool」 確定即可 如圖所示(附件:IIS11)
到了這一步 對配置PHP環境就算完成了
第八步 測試
配置完成後 如果想測試 PHP 是否已經安裝成功 可以在空間里根目錄下建立一個文件 如 test.php 然後寫入下面的語句
?
phpinfo();
?
保存後 用IE訪問這個文件
如果能見到這熟悉的頁面 對配置PHP環境就真正成功了
當然 你也可以配置成 PHP運行在CGI模式
具體方法就是把原來設置的路徑「 c:PHPsapiphp4isapi.dll 」 改為 「 c:phpphp.exe 「%s」 %s 」 然後把 「 檢查文件是否存在 」 取消 然後確定 基本設置完成
最後測試……
?
phpinfo();
?
如果出現 CGI Error
The specified CGI application misbehaved by not returning a complete set of HTTP headers…
這是代表php是以CGI模試運行的 在php.ini找到 gi.force_redirect 把前面的分號去掉 把值改成0就行了
再次運行 成功了吧 這是PHP另一種運行模式的配置方法
第九步 PHP 優化配置之一
讓論壇速度更快 PHP加速設置 PHP加速:Turck MMcache部署實現
Turck MMCache v2.4.7 for PHP v4.3.9
簡介說明:
把mmcache.dll文件放在php的extensions目錄裏面
然後修改php.ini文件:
查找
;extension=php_zip.dll
在這一句後面加入:
zend_extension_ts=”c:phpextensionsmmcache.dll”
mmcache.shm_size=”64″
mmcache.cache_dir=”c:temp”
mmcache.enable=”1″
mmcache.optimizer=”1″
mmcache.check_mtime=”1″
mmcache.debug=”0″
mmcache.filter=””
mmcache.shm_max=”0″
mmcache.shm_ttl=”0″
mmcache.shm_prune_period=”0″
mmcache.shm_only=”0″
mmcache.compress=”1″
重啟apache或者IIS就可以了 如果加上Zend Optimizer,就屬於比較完美的php加速方案了 建議考慮加入這個支持 用空間(cache緩存的空間 如上述配置的目錄 mmcache.cache_dir=”c:temp” 裏面就會產生緩存文件)換取速度
特別說明 :
1、如果您的系統已經裝了ZEND加速器,那麼上述配置在PHP.INI中必須放在ZEND的前面,否則Apache不能啟動;
2、mmcache.shm_size=”64″,這裡的64是加速系統使用做CACHE的內存,默認是16M;根據您系統內存調整;
3、mmcache.cache_dir=”/tmp”,這個是加速器工作時候產生臨時文件的目錄,請在C盤下建立一個 TEMP 文件夾以存放緩存文件 如果安裝時候默認目錄空間小了建議調整;不過就昨晚安裝測試到現在,這個目錄產生的文件也不多,如果訪問量大的網站自己多監測幾天看看。
4、上述配置功能的詳細說明請參考:
效果:現在系統同時有ZEND與MMcache加速器,PHP執行速度比原來是要快一些;ZEND優化已經開到最大;在系統上感覺最明顯的就是BBS,以及軟件下載後台程序輸出HTML靜態頁面速度非常快,而僅有ZEND的時候有些停頓。
第十步 PHP 優化配置之二
讓論壇速度更快 PHP加速設置 PHP加速:Zend Optimizer優化PHP程序
Zend Optimizer V2.5.5 For Windows
軟件大小:2941 KB
軟件語言:英文
運行環境:Win9x/NT/2000/XP
Zend Optimizer V2.5.5 For Windows軟件介紹:
Zend Optimizer用優化代碼的方法來提高PHP 4.0應用程序的執行速度。實現的原理是對那些在被最終執行之前由運行編譯器(Run-Time Compiler)產生的代碼進行優化。一般情況下,執行使用Zend Optimizer的PHP程序比不使用的要快40%到100%。這意味着網站的訪問者可以更快的瀏覽網頁,從而完成更多的事務,創造更好的客戶滿意度。更快的反應同時也意味着可以節省硬件投資,並增強網站所提供的服務。所以,使用Zend Optimizer,就等於提高了電子商務的盈利能力。Zend Optimizer能給PHP用戶帶來很多益處,特別是那些運營網站的人。快速運行PHP程序可以顯著降低服務器的CPU負載,並可以減少一半的反應時間,也就是從訪問者點擊鏈接到服務器開始讀取頁面之間的時間。
安裝Zend Optimizer優化PHP程序
Zend Optimizer是由PHP核心引擎「Zend」 創建者Zend技術公司所開的免費PHP優化軟件。據Zend公司透露使用這個軟件某些情況下至少可以提高性能30%以上!現在我們來看看如何配置這套軟件。
Zend Optimizer的安裝很簡單
1、運行安裝文件,首先提示你選擇安裝目錄,選擇一個你喜歡的目錄,單擊「Next」。
2、安裝嚮導會要求你選擇當前使用的WEB服務器(Apache、IIS或其它),選擇好服務器後單擊「Next」
3、安裝嚮導提示您確認php.ini的位置(默認是C:WINDOWS)單擊「Next」,提示「備份php.ini到C:WINDOWSphp.ini-Optimizer-bak,當卸載該軟件時可以恢復到原始的php.ini)單擊「Next」。
4、安裝嚮導提示「為了繼續安裝程序需要重新啟動IIS服務)單擊「是」,安裝程序開始重新啟動IIS服務,然後安裝程序會提示「IIS服務順利重新啟動了」單擊「確定」,再單擊「finish」完成安裝。
5、安裝完畢後程序會自動根據你的選擇來修改php.ini幫助你啟動這個引擎。下面我們來介紹Zend Optimizer的配置選項,幫助你最大化自定義合理的配置。
[Zend]
zend_optimizer.optimization_level=15
zend_extension_ts=”C:Program FilesZendlibZendExtensionManager.dll”
zend_extension_manager.optimizer_ts=”C:Program FilesZendlibOptimizer-2.5.5″
※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
[Zend]
zend_optimizer.optimization_level=1023
zend_optimizer.encoder_loader=0
zend_extension_ts=”C:Program FilesZendlibZendOptimizer.dll”
(網上資料中所看到的內容,也許是版本不同造成的內容有差異)
※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
現在我們來介紹上邊這些配置文件中相關內容的含義:
zend_optimizer.optimization_level 《== 優化程度,這裡定義啟動多少個優化過程。
zend_optimizer.encoder_loader 《== 是否允許處理由Zend Encoder加密的PHP文件。
zend_extension_ts 《== 優化器所在目錄。
zend_extension_manager.optimizer_ts 《== 優化器管理所在目錄。
優化過程 zend_optimizer.optimization_level 詳細解釋
這裡最為重點的部分,仔細看!Zend Opt總共有10個優化過程,從理論上說開的越多性能越好。當然,理論和實際永遠都存在着差距。優化過程開啟的越多對性能消耗也相對也越大,Zend Opt的10個優化過程並不相同也就是說效果不是平均的。Zend公司定義的最高值(High模式)為15,這裡15指的是開啟1-4號優化過程。當然,很多朋友並不滿足於此,畢竟最高也只開啟4個優化過程連總數的一半都沒有。各個優化過程的對應的數字代碼(值)如下:
不使用 0 = 如果這樣不如不裝,還能節約點內存說!
優化過程1(PASS1) 1
優化過程2(PASS2) 2
優化過程3(PASS3) 4
優化過程4(PASS4) 8
優化過程5(PASS5) 16
優化過程6(PASS6) 32
優化過程7(PASS7) 64
優化過程8(PASS8) 128
優化過程9(PASS9) 256
優化過程10(PASS10) 512
以何種方式開啟優化過程是通過這些數字代碼(值)相加所得的和作為此參數的參數值來控制的。如我的配置文件中zend_optimizer.optimization_level = 1023 , 這裡的1023是優化過程1到優化過程10全部數字代碼(值)相加得到的和,表示開啟全部10個優化過程。剛才所提到的Zend公司定義的High模式值為15,15表示同時開啟優化過程1-4。
加密代碼支持 zend_optimizer.encoder_loader 詳細解釋
對於這個參數,我想如果沒有看過Zend Opt FAQ文檔的朋友大多數並不知道。這個參數用來告訴Zend Opt是否去支持被Zend Encoder加密過的代碼。默認情況下Zend Opt將支持加密過的代碼。如果不使用被加密過的代碼我推薦你關閉此選項。這個功能牽扯到解包反碼的過程,會導致系統負荷的加重。我的朋友已經開發完畢相應的反編譯工具,預計春節之後推出。
這個參數的值只有兩個 0 關閉, 1 開啟。默認為1,推薦設置為0。
模塊定位 zend_extension_ts 、zend_extension_manager.optimizer_ts無需解釋,這些參數就是Zend Optimizer相關模塊在硬盤上的安裝路徑。
6、如何獲知Zend Optimizer是否在運行?
答案很簡單,只要用PHP的函數phpinfo()來檢測便知,如下所示:
?
phpinfo();
?
顯示的結果中關於Zend Optimizer的部分就象下面這樣:
This program makes use of the Zend Scripting Language Engine:
Zend Engine v1.3.0, Copyright (c) 1998-2004 Zend Technologies with Zend Extension Manager v1.0.3, Copyright (c) 2003-2004, by Zend Technologies with Zend Optimizer v2.5.3, Copyright (c) 1998-2004, by Zend Technologies
表示 Zend Optimizer for PHP優化成功了。
PHP核心是什麼?
Zend Optimizer(以下簡稱ZO)用優化代碼的方法來提高php應用程序的執行速度。實現的原理是對那些在被最終執行之前由運行編譯器(Run-Time Compiler)產生的代碼進行優化。 優化能提高你的盈利能力
一般情況下,執行使用ZO的php程序比不使用的要快40%到100%。這意味着網站的訪問者可以更快的瀏覽網頁,從而完成更多的事務,創造更好的客戶滿意度。更快的反應同時也意味着可以節省硬件投資,並增強網站所提供的服務。所以,使用ZO,就等於提高了電子商務的盈利能力。
ZO能給php用戶帶來很多益處,特別是那些運營網站的人。快速運行php程序可以顯著降低服務器的CpU負載,並可以減少一半的反應時間,也就是從訪問者點擊鏈接到服務器開始讀取頁面之間的時間。
為什麼要用ZO,難道PHP4還不夠快嗎?
的確,用於PHP4的標準運行編譯器已經夠快了–相同情況下比PHP3要快2-10倍。但使用了ZO的PHP程序的執行速度還會加快40%到100%。
ZO在PHP4軟件安裝的什麼位置?
ZO位於PHP4的ZEND引擎中,介於運行編譯器和最終執行器之間。
ZO的最終發佈版本要付費嗎?
不要。ZO的最終版本將繼續作為免費軟件來發佈。ZEND技術公司不打算對任何ZO版本收費。
怎樣獲得及安裝 Zend Optimizer
請訪問 下載 Zend Optimizer 的最新版本。
UNIX
編譯PHP,不要加調試選項-否則ZO不會工作:在配置是加上–disable-debug選項
複製ZendOptimizer.so文件到你的機器,通常放在:/usr/local/Zend/lib下
在php.ini文件中加入如下兩行,不要包含任何空格:
zend_optimizer.optimization_level=7
zend_extension=”/usr/local/Zend/lib/ZendOptimizer.so”
重新啟動Apache服務器
WINDOWS
保證PHP已經調試通過。
複製ZendOptimizer.dll文件到你的機器,通常放在:C:\Program Files\Zend\lib下
在php.ini文件中加入如下兩行,不要包含任何空格:
zend_optimizer.optimization_level=7
zend_extension_ts=”C:\Program Files\Zend\lib\ZendOptimizer.dll”
如果需要的話,重新啟動WEB服務器
出現錯誤:
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, #####@sina.com and inform them of the time the error occurred, and anything you might have done that may have caused the error.
More information about this error may be available in the server error log.
Additionally, a 500 Internal Server Error error was encountered while trying to use an ErrorDocument to handle the request.
提高PHP開發效率的技巧
用單引號代替雙引號來包含字符串,這樣做會更快一些。因為PHP會在雙引號包圍的字符串中搜尋變量,單引號則不會,注意:只有echo能這麼做,它是一種可以把多個字符串當作參數的「函數」(譯註:PHP手冊中說echo是語言結構,不是真正的函數,故把函數加上了雙引號)。
1、如果能將類的方法定義成static,就盡量定義成static,它的速度會提升將近4倍。
2、$row[』id』] 的速度是$row[id]的7倍。
3、echo 比 print 快,並且使用echo的多重參數(譯註:指用逗號而不是句點)代替字符串連接,比如echo $str1,$str2。
4、在執行for循環之前確定最大循環數,不要每循環一次都計算最大值,最好運用foreach代替。
5、註銷那些不用的變量尤其是大數組,以便釋放內存。
6、盡量避免使用__get,__set,__autoload。
7、require_once()代價昂貴。
8、include文件時盡量使用絕對路徑,因為它避免了PHP去include_path里查找文件的速度,解析操作系統路徑所需的時間會更少。
9、如果你想知道腳本開始執行(譯註:即服務器端收到客戶端請求)的時刻,使用$_SERVER[『REQUEST_TIME』]要好於time()。
10、函數代替正則表達式完成相同功能。
11、str_replace函數比preg_replace函數快,但strtr函數的效率是str_replace函數的四倍。
PHP如何加速到最快
網站的速度 一般 是從架構 , 數據庫, php代碼方面優化的。
而php本身沒什麼優化的,只要按照php的編碼 規範來寫就ok了;
還有就是做好緩存;
另外就是注意 sql 語句裏面的一些 小細節了,原則是:最先出現的條件,一定是過濾和排除掉更多結果的條件;第二出現的次之;以此類推。
例如 有個這樣的表
字段a 字段b 字段c
1 7 11
2 8 10
3 9 13
1,SELECT * FROM table WHERE a』0』 AND b』1』 ORDER BY c LIMIT 10;
2,SELECT * FROM table WHERE b』1』 AND a』0』 ORDER BY c LIMIT 10;
1 和 2 結果是相同的但是 查詢速度就大不相同,由於 表中 b 字段的數據 大部分 都是大於 1的 所以馬上可以過濾 大部分 數據 ,所以 2 比較好些
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/188340.html