eaccelerator是一個自由開放源碼PHP加速器,優化和動態內容緩存,提高了php腳本的緩存性能,使得PHP腳本在編譯的狀態下,對服務器的開銷幾乎完全消除。它還有對腳本起優化作用,以加快其執行效率。使您的PHP程序代碼執效率能提高1-10倍。
在linux系統上編譯安裝eAccelerator
# tar jxvf eaccelerator-0.9.6.1.tar.bz2
# cd eaccelerator-0.9.6.1/
# /usr/local/webserver/php/bin/phpize
# ./configure –enable-eaccelerator=shared \
–with-php-config=/usr/local/webserver/php/bin/php-config
# make && make install && cd ..
在php.ini文件中加入以下參數:
[eaccelerator] eaccelerator.allowed_admin_path = "/data/wsdata/wwwroot" zend_extension="/usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-20060613/eaccelerator.so" eaccelerator.shm_size="8" eaccelerator.cache_dir="/usr/local/webserver/eaccelerator_cache" eaccelerator.enable="1" eaccelerator.optimizer="1" eaccelerator.check_mtime="1" eaccelerator.debug="0" eaccelerator.filter="" eaccelerator.shm_max="0" eaccelerator.shm_ttl="3600" eaccelerator.shm_prune_period="3600" eaccelerator.shm_only="0" eaccelerator.compress="1" eaccelerator.compress_level="9" eaccelerator.keys = "disk_only" eaccelerator.sessions = "disk_only" eaccelerator.content = "disk_only"
eaccelerator.allowed_admin_path = “/data/wsdata/wwwroot”
eAccelerator控制面板的地址,安裝包里有一個control.php文件,把它複製到網站的任意目錄,可以用它查看和管理,這個必須指定,否則查看緩存內容的時候會出錯,訪問時候默認的用戶名是:admin,密碼:eAccelerator
zend_extension=”/usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-20060613/eaccelerator.so”
應為php是基於zend引擎的,extension意為基於php引擎的擴展,zend_extension意為基於zend引擎的擴展
eaccelerator.shm_size=”8″
eAccelerator 可以使用的共享內存的數量 (以MB為單位) . “0” 是指操作系統的默認值,默認值是 “0”,可根據服務器的實際情況來調整:16、32、64、128都是可以的。
eaccelerator.cache_dir=”/usr/local/webserver/eaccelerator_cache”
這個目錄是給磁盤緩存使用,eAccelerator 在這裡儲存預先編譯好的代碼,進程數據,內容以及用戶的自定義內容。同樣的數據也能被儲存在共享內存中 (這樣可以提高訪問速度)
eaccelerator.enable=”1″
開啟或關閉 eAccelerator,”1″ 為開啟,”0″ 為關閉。默認值為 “1”。
eaccelerator.optimizer=”1″
啟或關閉內部優化器,可以提升代碼執行速度。”1″ 為開啟,”0″ 為關閉。默認值為 “1”。
eaccelerator.check_mtime=”1″
打開或者關閉 PHP 的文件修改檢查,”1″ 是指打開,”0″ 是指關閉。默認值是 “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=”3600″
當 eAccelerator 獲取新腳本的共享內存大小失敗時,它將從共享內存中刪除所有在最後 “shm_ttl” 秒內沒有存取的腳本緩存。默認值為”0″,為不從共享內存中刪除任何緩存文件。
eaccelerator.shm_prune_period=”3600″
當 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.sessions = “disk_only”
eaccelerator.content = “disk_only”
設置內容緩存的存放的地方,可以設置為:
shm_and_disk 在共享緩存和硬盤(默認值)
shm 默認存在共享內存,如果共享內存已滿或大小超過 “eaccelerator.shm_max” 的值,就存到硬盤
shm_only 只存放在共享內存
disk_only 只存放在硬盤
none 不緩存數據