您好,登錄后才能下訂單哦!
最近想著如何優化一下php,找到了eAccelerator這個開源軟件,一下引用一段官方說明介紹eAccelerator:
eAccelerator是一款php加速和優化軟件,通過將編譯后的php緩存起來來提高php的性能。通常能夠降低服務器負載并加快php執行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
然后,執行
/usr/local/php5.3.28/bin/phpize (此步驟為生成configure文件。具體路徑修改下就ok。phpize是用來擴展php擴展模塊的,通過phpize可以建立php的外掛模塊,官方說明網址為:http://php.net/manual/en/install.pecl.phpize.php)
若執行時遇到關于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)添加如下內容
extension="eaccelerator.so"
eaccelerator.shm_size="16" #eAccelerator可用的最大內存,單位M
eaccelerator.cache_dir="/tmp/eaccelerator" #磁盤用來存儲緩存的目錄,eAccelerator在這里存儲預編譯代碼、session數據、內容和用戶條目。同樣的內容也可以存儲到內存中以便更快的讀取。
eaccelerator.enable="1" #1允許 0禁止
eaccelerator.optimizer="1" #意識是是否允許內部優化器,1允許 0禁止
eaccelerator.check_mtime="1" #是否允許檢查php文件是否更改,如果你想重新編譯php文件在他們修改后,則這里應該設置為“1”
eaccelerator.debug="0"
eaccelerator.filter=""
eaccelerator.shm_max="0"
eaccelerator.shm_ttl="0"
eaccelerator.shm_prune_period="0" #從內存中清除緩存的周期,0為不清除
eaccelerator.shm_only="0" #是否允許在磁盤緩存編譯過的文件。這不會影響到session數據和內容的緩存。0表示同時啟用磁盤和內存緩存
配置完成后,重啟apache。打開幾個頁面之后,觀察指定的目錄里有沒有文件產生。如果想獲得更多地信息,可以拷貝control.php至到網站目錄下并且在php.ini文件中添加
eaccelerator.allowed_admin_path “control.php路徑”
同時還可以設置訪問control.php的用戶名和密碼,在control.php文件里設置即可。
效果:我們公司的網站訪問量沒那么大,優化后的效果不是很明顯。但是進行壓測的時候性能還是有一定的提升。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。