軟件下載地址:
http://pan.baidu.com/share/link?shareid=1812137103&uk=1210957557
注:系統已經搭建好了LAMP,上一片博客有詳細文檔
[root@CentOS5samba]#tar zxvf eaccelerator-eaccelerator-42067ac.tar.gz -C /usr/local/src/
[root@CentOS5samba]#cd /usr/local/src/eaccelerator-eaccelerator-42067ac/
[root@CentOS5eaccelerator-eaccelerator-42067ac]#/usr/local/php/bin/phpize
[root@CentOS5eaccelerator-eaccelerator-42067ac]#./configure --enable-eaccelerator=shared --with-php-config=/usr/local/php/bin/php-config
[root@CentOS5eaccelerator-eaccelerator-42067ac]#make && make install
make install完成後會出現eaccelerator.so路徑,拷貝這個絕對路徑,下面還需要用
打開php.ini文件,在該文件的最後添加如下:
[root@CentOS5eaccelerator-eaccelerator-42067ac]#vi /usr/local/php/etc/php.ini
zend_extension="/usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/eaccelerator.so"
eaccelerator.shm_size="16"
eaccelerator.cache_dir="/data/cache/eaccelerator"
eaccelerator.allowed_admin_path=/usr/local/apache2/htdocs/
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"
以上參數表達的含義:
# eaccelerator.so的絕對路徑
zend_extension="/usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/eaccelerator.so"
#設置緩存大小
eaccelerator.shm_size="16"
#緩存目錄
eaccelerator.cache_dir="/data/cache/eaccelerator"
#網站目錄
eaccelerator.allowed_admin_path=/usr/local/apache2/htdocs/
#啓用或禁用eaccelerator,1爲開啓,0爲禁用
eaccelerator.enable="1"
#開啓或關閉優化,1爲開啓,0爲關閉
eaccelerator.optimizer="1"
#在每次命中的時候Eaccelerator都會檢查腳本的修改時間來判斷是不是腳本發生的變化來決定是否需要重新編譯,1爲啓用,0爲禁用
eaccelerator.check_mtime="1"
#開啓關閉debug日誌。如果設置爲1,將打印很多文件命中的信息到日誌中
eaccelerator.debug="0"
#用來決定哪個php文件被緩存。可以通過使用通配符(比如"*.php *.phtml")來匹配需要緩存的php腳本。如果以"!"開頭,表示不匹配,這個參數默認是空,可以緩存所有編譯好的php腳本需要注意的是eaccelerator.filter並不是基於URL工作的,而是基於文件的絕對路徑,比如定義了"!/home"的話,那所有/home目錄的腳本都不會被緩存。如果要定義多個匹配,使用空格或者製表符分開,而不是逗號。
eaccelerator.filter=""
#設置內存緩存可以緩存文件的最大值
eaccelerator.shm_max="0"
#當eAcelerator沒有空餘的共享內存的時候,就會把最少shm_ttl設置的秒數沒訪問過的腳本從緩存中釋放掉,默認值是0,表示eaccelerator不會釋放任何緩存
eaccelerator.shm_ttl="0"
#當沒有足夠的內存用來緩存的時候,eaccelerator會在上次清除緩存的時間超過了shm_prune_period設定的秒數時再次嘗試清除過期的腳本。默認值爲0,eaccelerator將不從緩存中清除過期的腳本
eaccelerator.shm_prune_period="0"
#啓用或者禁用磁盤緩存。這個選項對session數據和內容的緩存沒效果。默認值是0,允許eaccelerator使用磁盤和內存進行緩存
eaccelerator.shm_only="0"
#當使用eaccelerator_content_* 的api時,eA可以在緩存前對內容進行壓縮。默認值爲1表示啓用,0爲禁用
eaccelerator.compress="1"
#內容緩存的壓縮等級。默認值爲9(最大壓縮級別)
eaccelerator.compress_level="9"
建立緩存目錄並賦予權限
[root@CentOS5eaccelerator-eaccelerator-42067ac]#mkdir -p /data/cache/eaccelerator
[root@CentOS5eaccelerator-eaccelerator-42067ac]#chmod 777 /data/cache/eaccelerator
拷貝control.php文件到網站目錄下並重啓apache
[root@CentOS5eaccelerator-eaccelerator-42067ac]#cp control.php /usr/local/apache2/htdocs/
[root@CentOS5eaccelerator-eaccelerator-42067ac]#/usr/local/apache2/bin/apachectl restart
訪問http://IP/control.php
默認用戶名:admin
默認密碼:eAccelerator
登錄名和密碼可在control.php文件裏進行修改
安裝eaccelerator過程中出現的幾個錯誤及解決方案
1、[root@CentOS5 eaccelerator-0.9.5.3]# make && make install
/bin/sh/usr/local/src/eaccelerator-0.9.5.3/libtool --mode=compile cc -I. -I/usr/local/src/eaccelerator-0.9.5.3-DPHP_ATOM_INC -I/usr/local/src/eaccelerator-0.9.5.3/include -I/usr/local/src/eaccelerator-0.9.5.3/main-I/usr/local/src/eaccelerator-0.9.5.3 -I/usr/local/php/include/php-I/usr/local/php/include/php/main -I/usr/local/php/include/php/TSRM-I/usr/local/php/include/php/Zend -I/usr/local/php/include/php/ext-I/usr/local/php/include/php/ext/date/lib -DHAVE_CONFIG_H -g -O2 -c/usr/local/src/eaccelerator-0.9.5.3/eaccelerator.c -o eaccelerator.lo
cc-I. -I/usr/local/src/eaccelerator-0.9.5.3 -DPHP_ATOM_INC-I/usr/local/src/eaccelerator-0.9.5.3/include -I/usr/local/src/eaccelerator-0.9.5.3/main-I/usr/local/src/eaccelerator-0.9.5.3 -I/usr/local/php/include/php-I/usr/local/php/include/php/main -I/usr/local/php/include/php/TSRM-I/usr/local/php/include/php/Zend -I/usr/local/php/include/php/ext-I/usr/local/php/include/php/ext/date/lib -DHAVE_CONFIG_H -g -O2 -c/usr/local/src/eaccelerator-0.9.5.3/eaccelerator.c -fPIC -DPIC -o .libs/eaccelerator.o
/usr/local/src/eaccelerator-0.9.5.3/eaccelerator.c:In function ‘eaccelerator_restore’:
/usr/local/src/eaccelerator-0.9.5.3/eaccelerator.c:936:警告:賦值丟棄了指針目標類型的限定
/usr/local/src/eaccelerator-0.9.5.3/eaccelerator.c:In function ‘eaccelerator_compile_file’:
/usr/local/src/eaccelerator-0.9.5.3/eaccelerator.c:1272:警告:傳遞實參 1(屬於‘eaccelerator_ok_to_cache’)丟棄了指針目標類型的限定
/usr/local/src/eaccelerator-0.9.5.3/eaccelerator.c:1416:錯誤:‘znode_op’沒有名爲‘op_type’的成員
/usr/local/src/eaccelerator-0.9.5.3/eaccelerator.c:1417:錯誤:‘znode_op’沒有名爲‘u’的成員
/usr/local/src/eaccelerator-0.9.5.3/eaccelerator.c:1418:錯誤:‘znode_op’沒有名爲‘u’的成員
/usr/local/src/eaccelerator-0.9.5.3/eaccelerator.c:1419:錯誤:‘znode_op’沒有名爲‘u’的成員
/usr/local/src/eaccelerator-0.9.5.3/eaccelerator.c:1420:錯誤:‘znode_op’沒有名爲‘op_type’的成員
/usr/local/src/eaccelerator-0.9.5.3/eaccelerator.c:1421:錯誤:‘znode_op’沒有名爲‘u’的成員
/usr/local/src/eaccelerator-0.9.5.3/eaccelerator.c:1433:錯誤:‘znode_op’沒有名爲‘u’的成員
/usr/local/src/eaccelerator-0.9.5.3/eaccelerator.c:1434:錯誤:‘znode_op’沒有名爲‘u’的成員
/usr/local/src/eaccelerator-0.9.5.3/eaccelerator.c:1508:錯誤:‘zend_class_entry’沒有名爲‘line_start’的成員
/usr/local/src/eaccelerator-0.9.5.3/eaccelerator.c:在頂層:
/usr/local/src/eaccelerator-0.9.5.3/eaccelerator.c:2223:錯誤:expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘eaccelerator_functions’
/usr/local/src/eaccelerator-0.9.5.3/eaccelerator.c:2286:錯誤:‘eaccelerator_functions’未聲明 (不在函數內)
make: *** [eaccelerator.lo] 錯誤 1
解決方案:PHP5.4不支持這個版本的eaccelerator.,重新下載一個應該就可以了
2、訪問control.php頁面出錯“eAcceleratorisn't installed or isn't compiled with info support!”
解決方案:vi /usr/local/php/etc/php.ini
extension="/usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/eaccelerator.so"
改爲:
zend_extension="/usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/eaccelerator.so"
3、進入頁面後,點擊Script Cache按鈕出現錯誤
解決方案:vi /usr/local/php/etc/php.ini
加入:eaccelerator.allowed_admin_path=/usr/local/apache2/htdocs/