簡介
最佳化能提高你的盈利能力
一般情況下,執行使用ZO的php程式比不使用的要快40%到100%。這意味著網站的訪問者可以更快的瀏覽網頁,從而完成更多的事務,創造更好的客戶滿意 度。更快的反應同時也意味著可以節省硬體投資,並增強網站所提供的服務。所以,使用ZO,就等於提高了電子商務的盈利能力。
ZO能給php用戶帶來很多益處,特別是那些運營網站的人。快速運行php程式可以顯著降低伺服器的CpU負載,並可以減少一半的反應時間,也就是從訪問者點擊連結到伺服器開始讀取頁面之間的時間。
作用
的確,用於PHP4的標準運行編譯器已經夠快了--相同情況下比PHP3要快2-10倍。但使用了ZO的PHP程式的執行速度還會加快40%到100%。
安裝位置
ZO位於PHP4的ZEND引擎中,介於運行編譯器和最終執行器之間。
免費版本
ZO的最終版本將繼續作為免費軟體來發布。ZEND技術公司不打算對任何ZO版本收費。
下載安裝
請訪問 http://www.zend.com/store/products/zend-optimizer.php 下載 Zend Optimizer 的最新版本。
UNIX
編譯PHP,不要加調試選項-否則ZO不會工作:在配置是加上--disable-debug選項
複製ZendOptimizerso檔案到你的機器,通常放在:/usr/local/Zend/lib下
在php.ini檔案中加入如下兩行,不要包含任何空格:
重新啟動Apache伺服器
WINDOWS
1、運行安裝檔案,首先提示你選擇安裝目錄,選擇一個你喜歡的目錄,單擊“Next”。
2、安裝精靈會要求你選擇當前使用的WEB伺服器(Apache、IIS或其它),選擇好伺服器後單擊“Next”
3、安裝精靈提示您確認php.ini的位置(默認是C:\WINDOWS\)單擊“Next”,提示“備份php.ini到C:\WINDOWS\php.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 Files\Zend\lib\ZendExtensionManager.dll"
zend_extension_manager.optimizer_ts="C:\Program Files\Zend\lib\Optimizer-2.5.5"
[Zend]
zend_optimizer.optimization_level=1023
zend_optimizer.encoder_loader=0
zend_extension_ts="C:\Program Files\Zend\lib\ZendOptimizer.dll"
(網上資料中所看到的內容,也許是版本不同造成的內容有差異)
我們來介紹上邊這些配置檔案中相關內容的含義:
最佳化過程
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 OptFAQ文檔的朋友大多數並不知道。這個參數用來告訴Zend Opt是否去支持被Zend Encoder加密過的代碼。默認情況下Zend Opt將支持加密過的代碼。如果不使用被加密過的代碼我推薦你關閉此選項。這個功能牽扯到解包反碼的過程,會導致系統負荷的加重。
這個參數的值只有兩個 0 關閉, 1 開啟。默認為1,推薦設定為0。
模組定位 zend_extension_ts 、zend_extension_manager.optimizer_ts無需解釋,這些參數就是Zend Optimizer相關模組在硬碟上的安裝路徑。
如何獲知Zend Optimizer是否在運行?
答案很簡單,只要用PHP的函式phpinfo()來檢測便知,如下所示:
<?
phpinfo();
?>
顯示的結果中關於Zend Optimizer的部分就象下面這樣:
This program makes use of the Zend Scripting Language Engine:
Zend Engine v2.2.0, Copyright (c) 1998-2009 Zend Technologies
with Zend Extension Manager v1.2.0, Copyright (c) 2003-2007, by Zend Technologies
with Zend Optimizer v3.3.0, Copyright (c) 1998-2007, by Zend Technologies
表示 Zend Optimizer for PHP最佳化成功了。
補充作用
當php的代碼被Zend Guard加密過後,必須安裝解密軟體Zend Optimizer才能進行使用。比如Shopex,Shopnc.