⚠️ 重要提示
eAccelerator 已停止維護,不支援 PHP 7+。 現代專案請使用內建 OPcache。本文僅供維護舊版 PHP (5.2-5.6) 專案參考。
php.ini 設定範例
zend_extension_ts = "C:/php/ext/eaccelerator.dll"
eaccelerator.shm_size = "32"
eaccelerator.cache_dir = "C:/php/tmp"
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"
核心參數說明
| 參數 | 說明 | 建議值 |
| shm_size | 共享記憶體大小 (MB),0=系統預設 | 64-256 |
| cache_dir | 磁碟快取目錄 (需可寫) | /tmp/eaccelerator |
| enable | 總開關 | 1 |
| optimizer | 啟用 opcode 優化 | 1 |
| check_mtime | 檢查檔案修改時間以重新編譯 | 開發 1,生產 0 |
| filter | 只快取符合模式的檔案,! 開頭為排除 | "" (全部) |
| shm_ttl | 閒置超過秒數從共享記憶體移除 | 0 (不移除) |
| shm_prune_period | 定期掃描移除舊項目間隔秒數 | 0 |
| compress | 壓縮快取內容 | 1 |
| compress_level | 壓縮等級 1-9 | 9 |
API 函式
// 使用者資料快取 (共享記憶體)
eaccelerator_put($key, $value, $ttl=0); // 存入
eaccelerator_get($key); // 取出
eaccelerator_rm($key); // 刪除
eaccelerator_gc(); // 清理所有過期
// 鎖機制
eaccelerator_lock($name); // 加鎖
eaccelerator_unlock($name); // 解鎖
// Session 處理器
eaccelerator_set_session_handlers(); // 或 php.ini: session.save_handler=eaccelerator
// 輸出/結果/頁面快取
eaccelerator_cache_output($key, $eval_code, $ttl); // 快取輸出
eaccelerator_cache_result($key, $eval_code, $ttl); // 快取回傳值
eaccelerator_cache_page($key, $ttl); // 快取整頁
eaccelerator_rm_page($key); // 移除頁面快取
// 編碼保護 (簡易混淆)
eaccelerator_encode($filename); // 回傳編譯後編碼
eaccelerator_load($code); // 載入編碼腳本
遷移至 OPcache 對照
| eAccelerator | OPcache |
| eaccelerator_put/get/rm | APCu / Redis / Memcached (使用者資料) |
| eaccelerator_cache_output/page | 應用層快取 / Nginx fastcgi_cache |
| eaccelerator_encode/load | ionCube / Zend Guard / PHP 加密工具 |
| shm_size | opcache.memory_consumption |
| check_mtime | opcache.validate_timestamps |