|
一、phpeAccelerator安裝
去https://github.com/eaccelerator/eaccelerator/downloads下載最新版安裝包,解壓安裝包,進(jìn)入解壓后的文件夾目錄,
編譯:
復(fù)制代碼 代碼如下:
$php_PREFIX/bin/phpize
./configure--enable-shared --with-php-config=$php_PREFIX/bin/php-config
make
安裝:
復(fù)制代碼 代碼如下:
makeinstall
修改php.ini:
復(fù)制代碼 代碼如下:
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_ttl="0"
eaccelerator.shm_prune_period="0"
eaccelerator.shm_only="0"
新建緩存目錄:
復(fù)制代碼 代碼如下:
mkdir/tmp/eaccelerator
chmod0777 /tmp/eaccelerator
二、phpeAccelerator配置選項(xiàng)
eaccelerator.shm_size
用來設(shè)置分配給eAccelerator用來緩存php的最大共享內(nèi)存,單位是mb,如果設(shè)置為0,就使用默認(rèn)大小。在linux系統(tǒng)中一個(gè)process能分配的最大內(nèi)存是由/proc/sys/kernel/shmmax限制的,所以如果eA設(shè)置的內(nèi)存超出了這個(gè)值,eA在初始化的時(shí)候會(huì)失敗。shmmax的單位是字節(jié)(bytes)
eaccelerator.cache_dir
用來設(shè)置硬盤緩存目錄。eA用來存放預(yù)編譯代碼,session數(shù)據(jù),內(nèi)容和用戶入口。默認(rèn)值是"/tmp/eaccelerator"。
eaccelerator.enable
用來設(shè)置是否啟用或禁用eAccelerator,設(shè)置1為啟用,設(shè)置0為禁用。
eaccelerator.optimizer
開啟或關(guān)閉優(yōu)化,用戶加速代碼的執(zhí)行。1為開啟,0為關(guān)閉,優(yōu)化僅僅在腳本被編譯時(shí)候發(fā)生并且是在被緩存之前。
eaccelerator.debug
開啟關(guān)閉debug日志。如果設(shè)置為1,將打印很多文件命中的信息到日志中。這個(gè)在排查eAccelerator的時(shí)候很有用。
eaccelerator.check_mtime
在每次命中的時(shí)候Eaccelerator都會(huì)檢查腳本的修改時(shí)間來判斷是不是腳本發(fā)生的變化來決定是否需要重新編譯。盡管檢查比打開文件并編譯要快,但仍然會(huì)帶來一些開銷的,因?yàn)槊看味紩?huì)有狀態(tài)調(diào)用要完成。這個(gè)配置可以關(guān)閉這個(gè)檢查。不過關(guān)閉檢查帶來的不利就是每次更新了文件需要認(rèn)為手動(dòng)的清除cache。默認(rèn)檢查是啟用的,1是啟用,0是禁用。
eaccelerator.filter
用來決定哪個(gè)php文件被緩存。可以通過使用通配符(比如"*.php*.phtml")來匹配需要緩存的php腳本。如果以"!"開頭,表示不匹配,這個(gè)參數(shù)默認(rèn)是空,可以緩存所有編譯好的php腳本需要注意的是eaccelerator.filter并不是基于URL工作的,而是基于文件的絕對(duì)路徑,比如定義了"!/home"的話,那所有/home目錄的腳本都不會(huì)被緩存。如果要定義多個(gè)匹配,使用空格或者制表符分開,而不是逗號(hào)。
eaccelerator.shm_ttl
當(dāng)eAcelerator沒有空余的共享內(nèi)存的時(shí)候,就會(huì)把最少shm_ttl設(shè)置的秒數(shù)沒訪問過的腳本從緩存中釋放掉,默認(rèn)值是0,表示eA不會(huì)釋放任何緩存。
eaccelerator.shm_prune_period
當(dāng)沒有足夠的內(nèi)存用來緩存的時(shí)候,eA會(huì)在上次清除緩存的時(shí)間超過了shm_prune_period設(shè)定的秒數(shù)時(shí)再次嘗試清除過期的腳本。默認(rèn)值為0,eA將不從緩存中清除過期的腳本。
eaccelerator.shm_only
啟用或者禁用磁盤緩存。這個(gè)選項(xiàng)對(duì)session數(shù)據(jù)和內(nèi)容的緩存沒效果。默認(rèn)值是0,允許eA使用磁盤和內(nèi)存進(jìn)行緩存。
eaccelerator.allowed_admin_path
啟用或者禁用磁盤緩存。這個(gè)選項(xiàng)對(duì)session數(shù)據(jù)和內(nèi)容的緩存沒效果。默認(rèn)值是0,允許eA使用磁盤和內(nèi)存進(jìn)行緩存。
三、phpeAccelerator監(jiān)控與管理
eAccelerator提供了control.php,用于監(jiān)控與管理eAccelerator緩存。將control.php放到網(wǎng)站目錄中,修改賬號(hào)、密碼,即可通過瀏覽器監(jiān)控與管理eAccelerator緩存。
control.php第23、24行:
復(fù)制代碼 代碼如下:
$user= "admin";
$pw= "password";
php技術(shù):eAccelerator的安裝與使用詳解,轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。