配置eAccelerator和XCache擴(kuò)展來加速PHP程序的執(zhí)行
eaccelerator安裝配置PHP加速
eAccelerator簡介
eAccelerator是一個(gè)的免費(fèi)、開源的PHP模塊,它能夠?yàn)樘峁㏄HP加速、優(yōu)化、加碼、和動(dòng)態(tài)內(nèi)容緩存功能。它通過存儲(chǔ)PHP腳本編譯后的狀態(tài)而加快執(zhí)行PHP腳本的速度,而不需要頻繁的編譯這個(gè)PHP腳本。而且它能優(yōu)化PHP腳本,以提高執(zhí)行PHP的速度。eAccelerator特色是減少了服務(wù)器負(fù)載、使PHP腳本加速1-10倍。
下載地址:http://sourceforge.net/projects/eaccelerator/
解壓修改源代碼(解決出現(xiàn)open_basedir等報(bào)錯(cuò))
# tar jxvf eaccelerator-0.9.6.tar.bz2 # cd eaccelerator-0.9.6/ # vi eaccelerator.c
找到以下:
if (PG(open_basedir) && php_check_open_basedir(realname TSRMLS_CC)) {
改為
if (PG(open_basedir) && php_check_open_basedir(file_handle->filename TSRMLS_CC)) {
編譯安裝擴(kuò)展eaccelerator
# /usr/local/php-5.2.14/bin/phpize # 對(duì)應(yīng)你自己的phpize,一定要在eaccelerator-0.9.6目錄執(zhí)行 # ./configure –enable-eaccelerator \ –with-php-config=/usr/local/php-5.2.14/bin/php-config # make # make install # 會(huì)提示你擴(kuò)展裝到了哪個(gè)目錄,我這邊是/usr/local/php-5.2.14/lib/php/extensions/no-debug-non-zts-20060613/
配置php.ini
如果本機(jī)之前有加過擴(kuò)展,直接跳到下一步“添加eacclerator擴(kuò)展”
Vi /usr/local/php-5.2.14/etc/php.ini
將
extension_dir = ./
替換成
extension_dir=/usr/local/php-5.2.14/lib/php/extensions/no-debug-non-zts-20060613/
添加eacclerator擴(kuò)展
# vi /usr/local/php-5.2.14/etc/php.ini
增加如下內(nèi)容
[eaccelerator] 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″
創(chuàng)建eaccelerator目錄
# mkdir /tmp /eaccelerator # chmod 777 /tmp/eaccelerator
重啟測(cè)試
重啟apache或者nginx,并且查看效果,如果/tmp/eaccelerator下有目錄,說明安裝成功了。
配置參數(shù)詳解(eaccelerator)
eaccelerator.shm_size=”8″
eaccelerator.cache_dir=”/tmp/eaccelerator ”
這個(gè)目錄是給磁盤緩存使用. eAccelerator 在這里儲(chǔ)存預(yù)先編譯好的代碼, 進(jìn)程數(shù)據(jù), 內(nèi)容以及用戶的自定義內(nèi)容. 同樣的數(shù)據(jù)也能被儲(chǔ)存在共享內(nèi)存中 (這樣可以提高訪問速度). 默認(rèn)的設(shè)置是 “/tmp/eaccelerator”.
eaccelerator.enable=”1″
開啟或關(guān)閉 eAccelerator?!?” 為開啟,“0” 為關(guān)閉。默認(rèn)值為 “1”。
eaccelerator.optimizer=”1″
啟或關(guān)閉內(nèi)部優(yōu)化器,可以提升代碼執(zhí)行速度。“1” 為開啟,“0” 為關(guān)閉。默認(rèn)值為 “1”。
eaccelerator.check_mtime=”1″
打開或者關(guān)閉 PHP 的文件修改檢查. “1” 是指打開, “0” 是指關(guān)閉. 如果您在修改以后重新編譯 PHP 的文件,那么您應(yīng)當(dāng)設(shè)置為 “1”. 默認(rèn)值是 “1”.
eaccelerator.debug=”0″
開啟或關(guān)閉調(diào)試日志記錄。“1” 為開啟,“0” 為關(guān)閉。默認(rèn)值為 “0”。會(huì)將緩存命中得記錄寫入日志。
eaccelerator.filter=””
判斷哪些 PHP 文件必須緩存。您可以指定緩存和不緩存的文件類型(如 “*.php *.phtml”等),如果參數(shù)以 “!” 開頭,則匹配這些參數(shù)的文件被忽略緩存。默認(rèn)值為 “”,即,所有 PHP 文件都將被緩存。
eaccelerator.shm_max=”0″
當(dāng)使用 ” eaccelerator_put() ” 函數(shù)時(shí)禁止其向共享內(nèi)存中存儲(chǔ)過大的文件。該參數(shù)指定允許存儲(chǔ)的最大值,單位:字節(jié) (10240, 10K, 1M)?!?” 為不限制。默認(rèn)值為 “0”。
eaccelerator.shm_ttl=”0″
當(dāng)eAccelerator 獲取新腳本的共享內(nèi)存大小失敗時(shí),它將從共享內(nèi)存中刪除所有在最后 “shm_ttl” 秒內(nèi)沒有存取的腳本緩存。默認(rèn)值為 “0”,即:不從共享內(nèi)春中刪除任何緩存文件。
eaccelerator.shm_prune_period=”0″
當(dāng)eAccelerator 獲取新腳本的共享內(nèi)存大小失敗時(shí),他將試圖從共享內(nèi)存中刪除早于“shm_prune_period” 秒的緩存腳本。默認(rèn)值為 “0”,即:不從共享內(nèi)春中刪除任何緩存文件。
eaccelerator.shm_only=”0″
允許或禁止將已編譯腳本緩存在磁盤上。該選項(xiàng)對(duì) session 數(shù)據(jù)和內(nèi)容緩存無效。默認(rèn)值為 “0”,即:使用磁盤和共享內(nèi)存進(jìn)行緩存。
eaccelerator.compress=”1″
允許或禁止壓縮內(nèi)容緩存。默認(rèn)值為 “1”,即:允許壓縮。
eaccelerator.compress_level=”9″
指定內(nèi)容緩存的壓縮等級(jí)。默認(rèn)值為 “9”,為最高等級(jí)。
eaccelerator.keys = “disk_only” eaccelerator.session = “disk_only” eaccelerator.content = “disk_only”
設(shè)置內(nèi)容緩存的存放的地方,可以設(shè)置為:
- shm_and_disk 在共享緩存和硬盤(默認(rèn)值)
- shm 默認(rèn)存在共享內(nèi)存,如果共享內(nèi)存已滿或大小超過 “eaccelerator.shm_max” 的值,就存到硬盤
- shm_only 只存放在共享內(nèi)存
- disk_only 只存放在硬盤
- none 不緩存數(shù)據(jù)
PHP擴(kuò)展xcache安裝
xcache模塊可以緩存php運(yùn)行時(shí)編譯生成的opcode可以加速php程序的效率,安裝xcache和安裝memcache方法類似,都是以擴(kuò)展的方式安裝,PHP任何擴(kuò)展方法基本上都是如下,所以不需要特意去找xxx擴(kuò)展的文檔.
安裝PHP擴(kuò)展xcache
# wget http://xcache.lighttpd.net/pub/Releases/3.2.0/xcache-3.2.0.tar.gz # tar -xvf xcache-3.2.0.tar.gz # cd xcache-3.2.0 # ./configure –with-php-config=/usr/local/php/bin/php-config –enable-xcache # make && make install
會(huì)生成類似如下信息
Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/
所有的模塊都會(huì)生成到這個(gè)目錄下
編輯php配置文件
# vim /usr/local/php/etc/php.ini extension = /usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/xcache.so
重載PHP
# service php-fpm reload
如果是你Apache+PHP模式,那么重啟Apache即可.
# service httpd restart
或者
# /usr/local/apache-2.2.27/bin/apachectl restart
測(cè)試結(jié)果
- PHP中加速、緩存擴(kuò)展的區(qū)別和作用詳解(eAccelerator、memcached、xcache、APC )
- 使用Xcache緩存器加速PHP網(wǎng)站的配置方法
- 在Win7 中為php擴(kuò)展配置Xcache
- Linux下安裝php加速軟件Xcache的方法
- ubuntu下編譯安裝xcache for php5.3 的具體操作步驟
- CentOS 6.3下安裝PHP xcache擴(kuò)展模塊筆記
- 教你一步一步在linux中正確的安裝Xcache加速php
- PHP中opcode緩存簡單用法分析
- 利用php的ob緩存機(jī)制實(shí)現(xiàn)頁面靜態(tài)化方法
- PHP APC緩存配置、使用詳解
- PHP緩存工具XCache安裝與使用方法詳解
相關(guān)文章
一款簡單實(shí)用的php操作mysql數(shù)據(jù)庫類
這篇文章主要介紹了一款簡單實(shí)用的php操作mysql數(shù)據(jù)庫類,不但包含了php針對(duì)mysql數(shù)據(jù)庫的常見操作之外,還有針對(duì)危險(xiǎn)字符的過濾功能,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2014-12-12thinkphp項(xiàng)目部署到Linux服務(wù)器上報(bào)錯(cuò)“模板不存在”如何解決
一個(gè)項(xiàng)目部署到Linux服務(wù)器上去的時(shí)候,發(fā)現(xiàn)某些模板竟然會(huì)報(bào)錯(cuò)說“模板不存在:/Application/Admin/....”,這篇文章就是介紹了thinkphp項(xiàng)目部署到Linux服務(wù)器上報(bào)錯(cuò)“模板不存在”的解決方法,感興趣的小伙伴們可以參考一下2016-04-04深入解析PHP內(nèi)存管理之誰動(dòng)了我的內(nèi)存
本篇文章是對(duì)php中的內(nèi)存進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06PHP實(shí)現(xiàn)動(dòng)態(tài)柱狀圖改進(jìn)版
這篇文章主要介紹了PHP實(shí)現(xiàn)動(dòng)態(tài)柱狀圖改進(jìn)版,是在前面所述實(shí)現(xiàn)柱狀圖的基礎(chǔ)上進(jìn)行的改進(jìn),具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-03-03