2010年2月21日

安裝eAccelerator

eAccelerator是套讓php程式加速的軟體

安裝環境:

CentOS release 4.4 (Final) 64位元
Apache 2.0 Handler
PHP Version 4.3.9

由於之前安裝CentOS時,並未選擇全部安裝,系統裡缺少一些必要套件,所以在安裝時會出現一些錯誤,不過在yum install後皆可順利安裝好所需套件。

一、下載檔案:

eAccelerator下載目前最新版本 0.9.5

wget http://jaist.dl.sourceforge.net/sourceforge/eaccelerator/eaccelerator-0.9.5.zip
unzip eaccelerator-0.9.5.zip

二、安裝:(官網的安裝說明

Step 1. Compiling eAccelerator

先進入eaccelerator-0.9.5的目錄下,這裡需要有phpize,你可以先輸入

whereis phpize

看看你的系統裡是否有phpize及php-config(在/usr/bin下),我這裡是沒有的,所以就執行

yum -y install php-devel

安裝完成後,再執行

phpize

出現錯誤

  • /usr/bin/phpize: line 57: aclocal: command not found

搜尋一下網路資料,需要再安裝一些東西,所以

yum -y install autoconf
yum -y install automake
yum -y install libtool

安裝完成,繼續執行

phpize
./configure

出現錯誤

  • checking how to run the C++ preprocessor... /lib/cpp
    configure: error: C++ preprocessor "/lib/cpp" fails sanity check

所以再來yum一下吧!

yum -y install gcc-c++

繼續

./configure
make

Step 2. Installing eAccelerator

make install

顯示:

  • Installing shared extensions: /usr/lib64/php4/

Step 3. Configuring eAccelerator

vi /etc/php.ini

要在php.ini裡加上底下的設定,可以安裝在Zend or PHP extension。

有什麼差別呢?這我就不知道了,不過若是要安裝在 Zend extension,則底下的zend_extension就要寫上eaccelerator.so的完整路徑。

eaccelerator.so在哪裡呢?也就是在上面「Step 2」裡所顯示出來的路徑,我的CentOS是安裝64位元的,所以它就在「/usr/lib64/php4/」裡,若是32位元的,應該就是在「/usr/lib/php4/」裡了。

php extension

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"

Zend extension

zend_extension="/usr/lib64/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"

存檔後,記得要將Apache重新啟動

service httpd restart

上面的「eaccelerator.shm_size="16"」好像是cache的容量大小吧!預設是16MB,我自己又把它改成了64,不過有沒有什麼幫助呢?這我就不清楚了,應該是改得更大,就有更多的空間來放那些cache吧!

Step 4. Creating cache directory

建立上面eaccelerator.cache_dir="/tmp/eaccelerator"的目錄

mkdir /tmp/eaccelerator
chmod 0777 /tmp/eaccelerator

Step 5. Checking if it works

檢查eaccelerator是否正常使用,執行
php -v 
你可以看到
Copyright (c) 1997-2004 The PHP Group
Zend Engine v1.3.0, Copyright (c) 1998-2004 Zend Technologies
with eAccelerator v0.9.5, Copyright (c) 2004-2006 eAccelerator, by eAccelerator

這樣就OK了 。

三、用網頁來管理eaccelerator-0.9.5

1.複製control.php到網頁目錄下

eaccelerator-0.9.5目錄下的 control.php 複製到你的網頁根目錄下或任何你指定的目錄下都可以,當然你也可以將control.php改個名稱。

cp control.php /var/www/html

2. 修改管理者帳號及密碼
修改上面的 control.php ,裡面會有

/** config **/
$user = "admin";
$pw = "eAccelerator";

自行修改成你要的user及pw吧!

3.修改php.ini
修改php.ini ,加上

eaccelerator.allowed_admin_path = "/var/www/html"

也就是你剛剛複製過去的control.php 所放位置的目錄名稱。

最後

service httpd restart

以瀏覽器執行 http://IP/control.php,會跳出個認證視窗,輸入剛剛設定的帳號及密碼,這要你就可以看到底下的畫面了。


收工!