不知為了什麼 Gentoo 官方把 eAccelerator 跟 ZendOptimizer 不能都安裝,就是裝了一種就不能裝另一種!
可能是用 Zend Guard Compiled 的 php 再讓 eAccelerator 自動壓會有問題吧! 所以才不能都支援?
不過我還是想把 ZendOptimizer 裝起來哩!
那就還是延續上次說的不能安裝的文章來做 這篇 http://siryeh.com/index.php?module=News&func=display&sid=6
有些步驟就不多說囉!
1. 先建立自訂的安裝資料匣
mkdir /opt/portage/dev-php5
2. 把原來的 ZendOptimizer 安裝設定目錄複製過來
cp -r /usr/portage/dev-php5/ZendOptimizer /opt/portage/dev-php5/
3. 編輯自訂安裝設定檔
cd /opt/portage/dev-php5/ZendOptimizer/
vi ZendOptimizer-3.3.3-r1.ebuild
4. 找到 RDEPEND 參數在 30 行的位置
RDEPEND="!dev-php5/xdebug !dev-php5/pecl-apc !dev-php5/eaccelerator"
5. 修改成這樣,拿掉 !dev-php5/eaccelerator
RDEPEND="!dev-php5/xdebug !dev-php5/pecl-apc"
6. 再做 ebuild
ebuild ZendOptimizer-3.3.3-r1.ebuild digest
7. 需要手動下載 ZendOptimizer 的壓縮檔回來
cd /usr/portage/distfiles
wget http://downloads.zend.com/optimizer/3.3.3/ZendOptimizer-3.3.3-linux-glibc23-i386.tar.gz
8. 安裝 ZendOptimizer
emerge ZendOptimizer
9. 裝完後 eaccelerator.ini 要改一下, 這是原來的, 如果有 apache cli cgi 三種方式 run PHP 的話都把設定改一改會比較好, 這裡舉 cli 的方式, apache cgi 以此類推
vi /etc/php/cli-php5/ext/eaccelerator.ini
zend_extension=/usr/lib/php5/lib/php/extensions/no-debug-non-zts-20060613/eaccelerator.so
改成下面這樣, 不然會跟 Zend Optimizer 衝到同樣是叫 zend_extension 的設定
extension=eaccelerator.so
10. 測試一下看看有沒有共存
php -v
PHP 5.2.9-pl2-gentoo with Suhosin-Patch 0.9.7 (cli) (built: May 13 2009 21:29:40)
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2009 Zend Technologies
with eAccelerator v0.9.5.3, Copyright (c) 2004-2006 eAccelerator, by eAccelerator
with Zend Optimizer v3.3.3, Copyright (c) 1998-2007, by Zend Technologies
11. 最後都有看到 with eAccelerator 跟 with Zend Optimizer 的字樣就是有啦!!