== 安裝eAccelerator需要... ==22 想安裝eAccelerator,你需要autoconf,automake,libtool,m4,aclocal。
而幸運的是這些都可以在/usr/ports/devel下面找到:
/aclocal15 /automake19 /autoconf259 /m4 /libtool15
但是注意autoconf和autoheader之類請用最新的版本(例子目前還是最新的)。
目錄[隱藏] |
<script type="text/javascript"> if (window.showTocToggle) { var tocShowText = "顯示"; var tocHideText = "隱藏"; showTocToggle(); } </script>
下載eAccelerator
在頁面:http://sourceforge.net/project/showfiles.php?group_id=122249 可以下載到eAccelerator常用的幾個版本。一般使用eAccelerator 0.9.3穩定版。eAccelerator 0.9.4雖然是rc1,但正如官方網站所言:
"這個版本只是包含了一些錯誤修正和代碼的整理.這個版本仍然使用以前的代碼結構.
它還沒有包含任何新的代碼.這主要是一個錯誤修正版本以提高eAccelerator
的穩定性以及在正式版本發佈之前用來解決已知的一些問題."
0.9.4rc1還是一個很好的版本(或者叫做0.9.3i,呵呵)。
得到eAccelerator後
那麼:
對於eAccelerator 0.9.3,解開源碼包的命令將是:
tar xzvf eaccelerator-0.9.3.tar.gz
對於eAccelerator 0.9.4rc1,解開源碼包的命令將是:
tar xjvf eaccelerator-0.9.4-rc1.tar.bz2
然後:
cd eaccelerator-0.9.3
或者:
cd eaccelerator-0.9.4-rc1
在安裝以前
eAccelerator將會使用phpize對自己生成configure。而phpize似乎還需要libtool和autoconf之流,(當然aclocal也是必需的)。很多朋友安裝不了eAccelerator,就是因爲他們不知道怎麼樣才能./configure;make;make install。下面我們就來動動:
設置一個簡單的環境變量
SH:
export PHP_PREFIX="/usr/local/php"
CSH:
setenv PHP_PREFIX "/usr/local/php"
這裏的/usr/local/php是你的PHP安裝目錄,如果你用Ports安裝,這裏也許是/usr/local/bin
定義正確的autoconf,autoheader...
方法有二。設置環境變量法和ln大法。請看:
設置環境變量法
很多朋友在用phpize時,會得到出錯找不到PHP_AUTOCONF的提示,請定義環境變量:
env PHP_AUTOCONF=autoconf259 env PHP_AUTOHEADER=autoheader259
ln大法
cd /usr/local/bin ln -s /usr/local/bin/libtool13 /usr/local/bin/libtool ln -s /usr/local/bin/libtoolize13 /usr/local/bin/libtoolize ln -s /usr/local/bin/autoconf253 /usr/local/bin/autoconf ln -s /usr/local/bin/autoheader253 /usr/local/bin/autoheader ln -s /usr/local/bin/autom4te253 /usr/local/bin/autom4te ln -s /usr/local/bin/automake15 /usr/local/bin/automake ln -s /usr/local/bin/autoreconf253 /usr/local/bin/autoreconf ln -s /usr/local/bin/autoscan253 /usr/local/bin/autoscan ln -s /usr/local/bin/autoupdate253 /usr/local/bin/autoupdate ln -s /usr/local/bin/aclocal15 /usr/local/bin/aclocal
開始安裝
運行:
$PHP_PREFIX/bin/phpize
一般出現這樣的提示就可以了:
Configuring for: PHP Api Version: 20041225 Zend Module Api No: 20050922 Zend Extension Api No: 220051025 autoheader: `config.h.in' is created
然後:
./configure --enable-eaccelerator=shared --with-php-config=$PHP_PREFIX/bin/php-config
如果出現以下錯誤提示:
creating libtool ...... configure: error: tag name "CXX" already exists.
那麼你可以:
ee configure
查找CXX,把包含CXX的那行註釋掉就行了。還可能出現ltconfig錯誤:什麼"Try `ltconfig –help' for more information." 那就:
ee configure
在
*) lt_target="$target" ;; esac
和
# Check for any special flags to pass to ltconfig. libtool_flags="–cache-file=$cache_file"
之間添加 "lt_target=$ac_cv_build"(沒有引號)再次./configure...就可以成功了。
安裝的最後步驟
make make install
如果如果你用的是PHP 5.1以上版本,make會出問題。
配置 eAccelerator
eAccelerator 可以被配置成爲 Zend 或者 PHP 的擴展如果是 eaccelerator > 0.9.1, 同時如果您有 /etc/php.d 這個目錄, 您應該複製 eaccelerator.ini 到這個目錄然後根據您的需要修改默認的配置. 如果不是上面這種情況, 您就應該編輯 php.ini 文件 (通常在 /etc/php.ini).
安裝 eAccelerator 作爲 Zend 的擴展
zend_extension="/usr/lib/php4/eaccelerator.so" eaccelerator.shm_size="16" eaccelerator.cache_dir="/tmp/eaccelerator" eaccelerator.enable="1" eaccelerator.optimizer="1" eaccelerator.check_mtime="1" eaccelerator.debug="0" eaccelerator.filter="" eaccelerator.shm_max="0" eaccelerator.shm_ttl="0" eaccelerator.shm_prune_period="0" eaccelerator.shm_only="0" eaccelerator.compress="1" eaccelerator.compress_level="9"
如果您使用 thread safe build of PHP 這種方式,那麼您必須使用 "zend_extension_ts" 而不是"zend_extension".
安裝 eAccelerator 作爲 PHP 的擴展
extension="eaccelerator.so" eaccelerator.shm_size="16" eaccelerator.cache_dir="/tmp/eaccelerator" eaccelerator.enable="1" eaccelerator.optimizer="1" eaccelerator.check_mtime="1" eaccelerator.debug="0" eaccelerator.filter="" eaccelerator.shm_max="0" eaccelerator.shm_ttl="0" eaccelerator.shm_prune_period="0" eaccelerator.shm_only="0" eaccelerator.compress="1" eaccelerator.compress_level="9"
創建緩存目錄
mkdir /tmp/eaccelerator chmod 0777 /tmp/eaccelerator