最近想著如何優(yōu)化一下php,找到了eAccelerator這個開源軟件,一下引用一段官方說明介紹eAccelerator:
目前成都創(chuàng)新互聯(lián)公司已為近1000家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)絡(luò)空間、網(wǎng)站運營、企業(yè)網(wǎng)站設(shè)計、安遠(yuǎn)網(wǎng)站維護等服務(wù),公司將堅持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。eAccelerator是一款php加速和優(yōu)化軟件,通過將編譯后的php緩存起來來提高php的性能。通常能夠降低服務(wù)器負(fù)載并加快php執(zhí)行1-10倍(官方說法)。
注:只支持5.1以上的php版本
下面記錄一下安裝過程以及使用前后的效果對比。
1、下載安裝
依賴的軟件包:autoconf, automake, libtool, m4
wget https://codeload.github.com/eaccelerator/eaccelerator/legacy.tar.gz/master
tar jxvf eaccelerator-0.9.6.1.tar.bz2
cd eaccelerator-0.9.6.1
然后,執(zhí)行
/usr/local/php5.3.28/bin/phpize (此步驟為生成configure文件。具體路徑修改下就ok。phpize是用來擴展php擴展模塊的,通過phpize可以建立php的外掛模塊,官方說明網(wǎng)址為:http://php.net/manual/en/install.pecl.phpize.php)
若執(zhí)行時遇到關(guān)于autoconf的報錯,如下
Cannot find autoconf. Please check your autoconf installation and the
$PHP_AUTOCONF environment variable. Then, rerun this script.
此問題是因為沒有安裝m4和autoconf,yum安裝即可
yum install m4
yum install autoconf
編譯完成后,make & makeinstall
2、修改php配置文件,php添加eAccelerator有兩種方式,一種是作為zend的擴展,一種作為php的擴展。先說作為php的擴展:
在php.ini的擴展配置部分(可在php.ini里搜索extension)添加如下內(nèi)容
extension="eaccelerator.so"
eaccelerator.shm_size="16" #eAccelerator可用的大內(nèi)存,單位M
eaccelerator.cache_dir="/tmp/eaccelerator" #磁盤用來存儲緩存的目錄,eAccelerator在這里存儲預(yù)編譯代碼、session數(shù)據(jù)、內(nèi)容和用戶條目。同樣的內(nèi)容也可以存儲到內(nèi)存中以便更快的讀取。
eaccelerator.enable="1" #1允許 0禁止
eaccelerator.optimizer="1" #意識是是否允許內(nèi)部優(yōu)化器,1允許 0禁止
eaccelerator.check_mtime="1" #是否允許檢查php文件是否更改,如果你想重新編譯php文件在他們修改后,則這里應(yīng)該設(shè)置為“1”
eaccelerator.debug="0"
eaccelerator.filter=""
eaccelerator.shm_max="0"
eaccelerator.shm_ttl="0"
eaccelerator.shm_prune_period="0" #從內(nèi)存中清除緩存的周期,0為不清除
eaccelerator.shm_only="0" #是否允許在磁盤緩存編譯過的文件。這不會影響到session數(shù)據(jù)和內(nèi)容的緩存。0表示同時啟用磁盤和內(nèi)存緩存
配置完成后,重啟apache。打開幾個頁面之后,觀察指定的目錄里有沒有文件產(chǎn)生。如果想獲得更多地信息,可以拷貝control.php至到網(wǎng)站目錄下并且在php.ini文件中添加
eaccelerator.allowed_admin_path “control.php路徑”
同時還可以設(shè)置訪問control.php的用戶名和密碼,在control.php文件里設(shè)置即可。
效果:我們公司的網(wǎng)站訪問量沒那么大,優(yōu)化后的效果不是很明顯。但是進行壓測的時候性能還是有一定的提升。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。