eaccelerator安裝配置PHP加速
eAccelerator簡介
eAccelerator是一個的免費、開源的PHP模塊,它能夠為提供PHP加速、優化、加碼、和動態內容緩存功能。它通過存儲PHP腳本編譯後的狀態而加快執行PHP腳本的速度,而不需要頻繁的編譯這個PHP腳本。而且它能優化PHP腳本,以提高執行PHP的速度。eAccelerator特色是減少了服務器負載、使PHP腳本加速1-10倍。
下載地址:http://sourceforge.net/projects/eaccelerator/
解壓修改源代碼(解決出現open_basedir等報錯)
# 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)) {
編譯安裝擴展eaccelerator
# /usr/local/php-5.2.14/bin/phpize # 對應你自己的phpize,一定要在eaccelerator-0.9.6目錄執行 # ./configure –enable-eaccelerator \ –with-php-config=/usr/local/php-5.2.14/bin/php-config # make # make install # 會提示你擴展裝到了哪個目錄,我這邊是/usr/local/php-5.2.14/lib/php/extensions/no-debug-non-zts-20060613/
配置php.ini
如果本機之前有加過擴展,直接跳到下一步“添加eacclerator擴展”
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擴展
# vi /usr/local/php-5.2.14/etc/php.ini
增加如下內容
[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″
創建eaccelerator目錄
# mkdir /tmp /eaccelerator # chmod 777 /tmp/eaccelerator
重啟測試
重啟apache或者nginx,並且查看效果,如果/tmp/eaccelerator下有目錄,說明安裝成功了。
配置參數詳解(eaccelerator)
eaccelerator.shm_size=”8″eAccelerator 可以使用的共享內存的數量 (以兆為單位) . “0” 是指操作系統的默認值. 默認值是 “0”.可根據服務器的實際情況來調整,8,16,32,64,128都是可以的。
eaccelerator.cache_dir=”/tmp/eaccelerator ”
這個目錄是給磁盤緩存使用. eAccelerator 在這裡儲存預先編譯好的代碼, 進程數據, 內容以及用戶的自定義內容. 同樣的數據也能被儲存在共享內存中 (這樣可以提高訪問速度). 默認的設置是 “/tmp/eaccelerator”.
eaccelerator.enable=”1″
開啟或關閉 eAccelerator。“1” 為開啟,“0” 為關閉。默認值為 “1”。
eaccelerator.optimizer=”1″
啟或關閉內部優化器,可以提升代碼執行速度。“1” 為開啟,“0” 為關閉。默認值為 “1”。
eaccelerator.check_mtime=”1″
打開或者關閉 PHP 的文件修改檢查. “1” 是指打開, “0” 是指關閉. 如果您在修改以後重新編譯 PHP 的文件,那麼您應當設置為 “1”. 默認值是 “1”.
eaccelerator.debug=”0″
開啟或關閉調試日志記錄。“1” 為開啟,“0” 為關閉。默認值為 “0”。會將緩存命中得記錄寫入日志。
eaccelerator.filter=””
判斷哪些 PHP 文件必須緩存。您可以指定緩存和不緩存的文件類型(如 “*.php *.phtml”等),如果參數以 “!” 開頭,則匹配這些參數的文件被忽略緩存。默認值為 “”,即,所有 PHP 文件都將被緩存。
eaccelerator.shm_max=”0″
當使用 ” eaccelerator_put() ” 函數時禁止其向共享內存中存儲過大的文件。該參數指定允許存儲的最大值,單位:字節 (10240, 10K, 1M)。“0” 為不限制。默認值為 “0”。
eaccelerator.shm_ttl=”0″
當eAccelerator 獲取新腳本的共享內存大小失敗時,它將從共享內存中刪除所有在最後 “shm_ttl” 秒內沒有存取的腳本緩存。默認值為 “0”,即:不從共享內春中刪除任何緩存文件。
eaccelerator.shm_prune_period=”0″
當eAccelerator 獲取新腳本的共享內存大小失敗時,他將試圖從共享內存中刪除早於“shm_prune_period” 秒的緩存腳本。默認值為 “0”,即:不從共享內春中刪除任何緩存文件。
eaccelerator.shm_only=”0″
允許或禁止將已編譯腳本緩存在磁盤上。該選項對 session 數據和內容緩存無效。默認值為 “0”,即:使用磁盤和共享內存進行緩存。
eaccelerator.compress=”1″
允許或禁止壓縮內容緩存。默認值為 “1”,即:允許壓縮。
eaccelerator.compress_level=”9″
指定內容緩存的壓縮等級。默認值為 “9”,為最高等級。
eaccelerator.keys = “disk_only” eaccelerator.session = “disk_only” eaccelerator.content = “disk_only”
設置內容緩存的存放的地方,可以設置為:
PHP擴展xcache安裝
xcache模塊可以緩存php運行時編譯生成的opcode可以加速php程序的效率,安裝xcache和安裝memcache方法類似,都是以擴展的方式安裝,PHP任何擴展方法基本上都是如下,所以不需要特意去找xxx擴展的文檔.
安裝PHP擴展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
會生成類似如下信息
Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/
所有的模塊都會生成到這個目錄下
編輯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
測試結果