XCache 是一款高性能的 PHP Opcode 緩存擴展,能顯著提升 PHP 執行效率。本文記錄在 Ubuntu 系統下為 PHP 5.3.3 編譯安裝 XCache 1.3.0 的完整流程,包含配置優化建議。
/usr/local/php-5.3.3build-essential、autoconf 等wget https://xcache.lighttpd.net/pub/Releases/1.3.0/xcache-1.3.0.tar.gz
tar -xzvf xcache-1.3.0.tar.gz
cd xcache-1.3.0
# 1. 生成 configure 腳本(關鍵:指定正確的 phpize 路徑)
/usr/local/php-5.3.3/bin/phpize
# 2. 配置編譯參數(指定 php-config 路徑)
./configure --with-php-config=/usr/local/php-5.3.3/bin/php-config
# 3. 編譯並安裝
make
sudo make install
關鍵點:安裝成功後會提示 xcache.so 的實際安裝路徑(如 /usr/local/php-5.3.3/lib/php/extensions/no-debug-non-zts-20090626/xcache.so),請記錄備用。
將生成的 xcache.ini 內容追加至 php.ini,或手動編輯:
sudo cat xcache.ini >> /usr/local/php-5.3.3/lib/php.ini
[xcache-common]
;; 作為 Zend Extension 加載(推薦方式)
zend_extension = /usr/local/php-5.3.3/lib/php/extensions/no-debug-non-zts-20090626/xcache.so
;; 或者作為普通 extension 加載(二選一)
; extension = xcache.so
[xcache.admin]
xcache.admin.enable_auth = On
xcache.admin.user = "admin"
xcache.admin.pass = "md5加密密碼"
[xcache]
;; 核心緩存設置
xcache.size = 64M ; Opcode 緩存大小
xcache.count = 1 ; 緩存分片數(建議 = CPU 核心數)
xcache.slots = 8K ; 槽位數
xcache.ttl = 0 ; 永不過期
xcache.gc_interval = 0 ; GC 間隔
;; 變量緩存(用戶數據緩存)
xcache.var_size = 16M
xcache.var_count = 1
xcache.var_slots = 8K
xcache.var_ttl = 3600
xcache.var_gc_interval = 300
;; 其他優化
xcache.readonly_protection = Off
xcache.mmap_path = "/dev/zero"
xcache.coredump_directory = ""
xcache.cacher = On
xcache.stat = On
xcache.optimizer = Off
# 重啟 PHP-FPM
sudo /etc/init.d/php-fpm restart
# 驗證安裝
php -m | grep xcache
# 或查看 phpinfo() 輸出
| 問題 | 解決方案 |
|---|---|
| 編譯報錯缺少頭文件 | 安裝 php5.3-dev 或對應版本開發包 |
| 模塊加載失敗 | 檢查 zend_extension 路徑是否與 make install 輸出一致 |
| 緩存不生效 | 確認 xcache.cacher = On 且 xcache.size > 0 |
| 管理界面 404 | 需單獨部署 xcache/admin 目錄並配置 Web 服務器 |
xcache.count 設置為 CPU 核心數,減少鎖競爭xcache.size 根據項目代碼量設置,通常 64M-256Mxcache.readonly_protection = On 防止緩存損壞(需 mmap 支持)xcache.var_* 命中率,調整變量緩存大小完成上述步驟後,XCache 將為 PHP 5.3 提供穩定的 Opcode 緩存加速,典型場景下可提升 2-5 倍吞吐量。