今天開發說需要php 支持 Zend Optimizer ,在網上找了安裝文檔看,比較簡單只要在加壓包執行install.sh就可以,然後選zend的安裝路徑,php.ini所在的路徑,apache啟動腳本的路徑,然後自動重啟apache就安裝好了,利用phpinfo信息來判斷是否安裝正確。
如果正確安裝應該顯示:
This program makes use of the Zend Scripting Language Engine:
Zend Engine v2.2.0, Copyright (c) 1998-2007 Zend Technologies
with Zend Extension Manager v1.2.2, Copyright (c) 2003-2007, by Zend Technologies
with Zend Optimizer v3.3.3, Copyright (c) 1998-2007, by Zend Technologies
我在安裝了 v3.3.0 v3.0.1 v.3.3.3幾個版本,安裝順利,沒有報錯。卻發現phpinfo信息裡面只有with Zend Extension Manager 而沒有with Zend Optimizer v3.3.3, Copyright (c) 1998-2007, by Zend Technologies這一行信息。
檢查我的php.ini信息路徑在/usr/local/php5/lib/php.ini,已經生成到/usr/local/Zend/etc/php.ini的鏈接文件,並且文件後面也追加了
[Zend]
zend_extension_manager.optimizer=/usr/local/Zend/lib/Optimizer-3.3.3
zend_extension_manager.optimizer_ts=/usr/local/Zend/lib/Optimizer_TS-3.3.3
zend_optimizer.version=3.3.3
zend_extension=/usr/local/Zend/lib/ZendExtensionManager.so
zend_extension_ts=/usr/local/Zend/lib/ZendExtensionManager_TS.so
相關的配置路徑
測試了很多遍,找不到解決的辦法,只是感覺和php的配置文件有關或沒有生效,仔細在看phpinfo的信息發現
Configuration File (php.ini) Path /usr/local/php5 而我的php.ini文件是在/usr/local/php5/lib 下查看編譯php信息看到--with-config-file-path=/usr/local/php5' 看來是編譯php時已經把php.ini的路徑給修改了不是默認的/usr/local/php5/lib下的路徑,
重新按照正確的php.ini路徑安裝配置或者直接
ln -s /usr/local/Zend/etc/php.ini /you_path/php.ini
重新啟動apache
查看phpinfo信息
Configuration File (php.ini) Path /usr/local/php5 Loaded Configuration File /usr/local/Zend/etc/php.ini zend optimizer的信息也正確顯示了。
此文做為備忘,希望對您有所幫助。
題外話:
我的運行環境centos 5.1 在Zend Optimizer測試成功後,用的是discuz論壇,進入論壇卻出現亂碼、散架樣式錯誤。在經過無數次的php版本測試5.1.4 5.2.0 5.2.3 5.2.5 和Zend Optimizer版本的測試3.0.1 3.2.0 3.3.0 3.3.1 都沒有解決,在安裝php 5.1.4 和5.2.0時 curl編譯make 出問題make: *** [ext/curl/interface.lo] 錯誤 1。當時curl版本是curl-7.17.1 後來,更換curl-7.15.0 php 5.2.0 和5.1.4才順利編譯完成,這時候再回頭來編譯zend Optimizer模塊,它的幾個版本都做了測試沒有出現discuz論壇樣式散架的問題,返回來再次使用php 5.2.3 +curl-7.15.0+zend Optimizer的這幾個版本,均沒有出現問題。 最終證明curl的版本會影響php和zend opitimizer