首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

eAccelerator 完整配置指南與 API 參考

     編輯:PHP 相關知識

簡介

eAccelerator 是一款免費開源的 PHP 加速器,透過緩存編譯後的腳本 bytecode 到共享記憶體,大幅降低伺服器負載並提升執行速度。本文詳細說明其 php.ini 設定參數與常用 API 函數,適用於 PHP 5.x 環境(現已較少使用,建議改用 OPcache)。

核心配置參數詳解

指令預設值說明
eaccelerator.shm_size0 (OS 預設)共享記憶體大小(MB),0 表示由系統決定。
eaccelerator.cache_dir/tmp/eaccelerator磁碟緩存目錄,儲存預編譯碼、Session、內容緩存。
eaccelerator.enable1啟用/停用 eAccelerator。
eaccelerator.optimizer1啟用內部優化器,可提升執行速度。
eaccelerator.debug0開啟除錯日誌。
eaccelerator.check_mtime1檢查腳本修改時間,開發環境建議開啟,生產環境可關閉提升效能。
eaccelerator.filter空檔案過濾規則,如 *.php 或 !admin/*.php 排除特定目錄。
eaccelerator.shm_max0單一鍵值在共享記憶體的最大位元組數,0 為不限制。
eaccelerator.shm_ttl0閒置超過秒數的腳本緩存將被移除(0 關閉)。
eaccelerator.shm_prune_period0定期清理超過秒數的舊緩存(0 關閉)。
eaccelerator.shm_only0僅使用共享記憶體,不寫入磁碟(Session/內容緩存除外)。
eaccelerator.compress1啟用內容緩存壓縮。
eaccelerator.compress_level9壓縮等級 1-9,9 最高。
eaccelerator.name_space空鍵值前綴,支援多站點共用同一緩存空間。
eaccelerator.keys / sessions / contentshm_and_disk資料儲存策略:shm_and_disk、shm、shm_only、disk_only、none。

常用 API 函數速查

資料緩存操作

  • eaccelerator_put($key, $value, $ttl=0):寫入共享記憶體,$ttl 為存活秒數。
  • eaccelerator_get($key):讀取值,不存在或過期回傳 null。
  • eaccelerator_rm($key):刪除指定鍵。
  • eaccelerator_gc():清理所有過期鍵。

鎖機制(進程同步)

  • eaccelerator_lock($lock):建立命名鎖,請求結束自動釋放。
  • eaccelerator_unlock($lock):手動釋放鎖。

Session 整合

  • eaccelerator_set_session_handlers():安裝自定 Session 處理器,或在 php.ini 設定 session.save_handler=eaccelerator。

頁面/結果緩存

  • eaccelerator_cache_output($key, $eval_code, $ttl=0):緩存程式碼輸出內容。
  • eaccelerator_cache_result($key, $eval_code, $ttl=0):緩存程式碼回傳結果。
  • eaccelerator_cache_page($key, $ttl=0):緩存整頁輸出。
  • eaccelerator_rm_page($key):移除頁面緩存。

腳本編碼與載入(原始碼保護)

  • eaccelerator_encode($filename):回傳編譯後的編碼字串。
  • eaccelerator_load($code):載入並執行編碼後的腳本。

配置範例 (php.ini 片段)

zend_extension_ts="C:/php/ext/eaccelerator.dll"
eaccelerator.shm_size="64"
eaccelerator.cache_dir="C:/php/tmp/eaccelerator"
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.name_space="mysite_"

效能調校建議

  1. 共享記憶體大小:依據專案腳本總量設定,建議預留 20% 餘量,避免頻繁剔除導致命中率下降。
  2. 關閉 mtime 檢查:生產環境設 check_mtime=0,部署新版時手動清理緩存目錄或重啟 PHP-FPM。
  3. 啟用壓縮:compress=1 可大幅減少磁碟 I/O,CPU 開銷極低。
  4. 監控指標:定期檢視 eaccelerator_get() 命中率、共享記憶體使用率,配合 shm_ttl、shm_prune_period 微調。

遷移提醒

PHP 5.5+ 內建 OPcache,效能更優且無需額外擴充。新專案請直接啟用 OPcache;既有 eAccelerator 專案升級 PHP 版本時,請移除 eAccelerator 相關設定並改用 OPcache 設定。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved