ZendOptmizer在Linux和windows下配置的不同

 首先,當php的代碼被zend guard 加密之後,必須安裝解密軟件ZendOptimizer才能進行使用。


 其次, ZO位於PHP5的ZEND引擎中,介於運行編譯器和最終執行器之間。實現的原理是對那些在被最終執行之前由運行編譯器(Run-Time Compiler)產生的代碼進行優化。


LINUX

  編譯PHP,不要加調試選項-否則ZO不會工作:在配置是加上--disable-debug選項   

        複製ZendOptimizerso文件到你的機器,通常放在:/usr/local/Zend/lib下   

        在php.ini文件中加入如下兩行,不要包含任何空格:   

              zend_optimizer.optimization_level=7   

              zend_extension="/usr/local/Zend/lib/ZendOptimizerso"   

     重新啓動Apache服務器

WINDOWS

  [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_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相關模塊在硬盤上的安裝路徑。   

如何獲知Zend Optimizer是否在運行?   

答案很簡單,只要用PHP的函數phpinfo()來檢測便知,如下所示:   

<?   phpinfo();   ?>


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章