1. 程式人生 > >PHP5.2/5.3下的Zend Optimizer問題

PHP5.2/5.3下的Zend Optimizer問題

最近在研究Shopex的商城系統,需要環境有Zend,所以需要安裝Zend Optimizer。

很久沒更新blog了,但覺得寫寫為好,第一避免過幾天又忘了怎麼解決的,第二希望搜相似問題的同志少死點腦細胞。

伺服器上是用的目前最新的php 5.3.5,然後去Zend下載的ZendOptimizer的最新版本3.3.3,顯而易見安裝後ZendOptimizer沒載入,不然也就沒有本文了。

原因在於ZendOptimizer 3.3.3只支援php 5.2.x,如果php 5.3.x就需要用ZendGuardLoader 5.5這個產品,換句話說就是ZendOptimizer今後zend官方不更新了。

那就裝ZendGuardLoader唄,但是ZendGuardLoader 5.5只能解Zend Guard 5.5加密的程式碼,老版本的Zend Guard加密的程式碼無能無力。如果你要用到zend的產品是用Zend Guard5.5以上的版本加密的,恭喜你直接裝ZendGuardLoader即可,但是如果你要用的那產品的開發商還沒這麼前衛的話,就繼續往下讀吧。很不幸Shopex目前還是老版本的Zend Guard加密方式。

zend+iis:

對於目前IIS裡用的PHP都是用fastcgi方式了,fastcgi給大家灌輸的概念是要用非執行緒安全(nts)版本的PHP。如果ZendOptimizer 3.3.3加php 5.2.x的nts版的話,又掛了,因為如果要用ZendOptimizer需要用執行緒安全的版本。

照目前來說,符合條件的就是php-5.2.17-Win32-VC6-x86,而它又分msi和zip兩個。按照習慣用的msi,但裝上後php後頁面上fastcgi報錯(還未裝zend就錯),php目錄下面放php.ini、windows目錄下放php.ini、兩個目錄下都放php.ini這3中情況都試了都同樣的出錯……

然後解除安裝了php的msi安裝版,換上了zip版,php目錄下面不放php.ini、windows目錄下放php.ini,phpinfo()終於出來了“with Zend Optimizer v3.3.3, Copyright (c) 1998-2007, by Zend Technologies”

隨後另在一臺伺服器上IIS6+fastcgi的php 5.2.17執行緒安全zip版裝ZendOptimizer同樣成功。證明雖然不能說ZendOptimizer在php 5.2.x裡只能如此安裝,但至少如此安裝絕對能配通。

zend+EasyPHP

如果是這樣搭配的話,本地除錯。只能用EasyPHP3.0版本的,不能用EasyPHP5.3.5版本的,因為後者的php是屬於5.3.4,而前者才是zend兼容範圍之內php 5.2.8  。