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

為 LAMP 環境加裝 XCache PHP 加速器:安裝、配置與效能驗證

     編輯:PHP 綜合知識

為什麼選擇 XCache?

XCache 是高效能 PHP opcode 快取器,特點:安裝直觀、配置簡單、支援 PHP 5.2-5.6、提供管理介面、可快取變數資料 (類似 APCu)。雖 PHP 5.5+ 內建 OPcache 更優,但舊版 PHP 環境 (如 PHP 5.3/5.4) 仍適用 XCache。

安裝步驟 (以 XCache 3.0.1 為例)

  1. 下載解壓並進入目錄:
    
    wget https://xcache.lighttpd.net/pub/Releases/3.0.1/xcache-3.0.1.tar.gz
    tar zxvf xcache-3.0.1.tar.gz
    cd xcache-3.0.1
    
  2. 執行 phpize 準備編譯環境:
    
    /usr/local/php/bin/phpize
    # 輸出確認:Configuring for: PHP Api Version: 20100525, Zend Module Api No: 20100525, Zend Extension Api No: 220100525
    
  3. 配置編譯選項 (指定 php-config 路徑):
    
    ./configure --enable-xcache --with-php-config=/usr/local/php/bin/php-config
    
  4. 編譯安裝:
    
    make && make install
    

    安裝成功會顯示擴展安裝路徑,例如:

    
    Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-zts-20100525/
    

    記下此路徑,後續 php.ini 需填入。

  5. 整合至 php.ini:
    
    mkdir -p /etc/php.d
    cp xcache.ini /etc/php.d/xcache.ini
    # 或直接編輯 /usr/local/php/etc/php.ini 新增以下區塊
    
  6. 編輯 xcache.ini 關鍵參數:
    
    [xcache-common]
    extension = /usr/local/php/lib/php/extensions/no-debug-zts-20100525/xcache.so
    
    [xcache.admin]
    xcache.admin.enable_auth = On
    xcache.admin.user = "admin"
    xcache.admin.pass = "md5_encrypted_password"  # 使用 md5("password") 生成
    
    [xcache]
    xcache.size = 64M          # opcode 快取大小,依可用記憶體調整
    xcache.count = 1           # 快取分段數,建議 = CPU 核心數
    xcache.slots = 8K          # 雜湊槽數量
    xcache.ttl = 0             # 0=永不過期,建議 3600-86400
    xcache.gc_interval = 300   # GC 間隔秒數
    xcache.var_size = 16M      # 變數快取大小
    xcache.var_count = 1
    xcache.var_slots = 8K
    xcache.var_ttl = 3600
    xcache.var_maxttl = 0
    xcache.var_gc_interval = 300
    xcache.readonly_protection = Off
    xcache.mmap_path = "/dev/zero"
    xcache.coredump_directory = ""
    
    [xcache.coverager]
    xcache.coverager = Off
    xcache.coveragedump_directory = ""
    
  7. 重啟 PHP-FPM / Apache 生效:
    
    service php-fpm restart
    # 或
    service httpd restart
    

驗證安裝與管理介面

  1. 建立 phpinfo.php 確認 XCache 區塊出現,版本號正確。
  2. 複製 XCache 管理介面檔案至 Web 目錄:
    
    cp -r /usr/local/src/xcache-3.0.1/htdocs /var/www/html/xcache-admin
    chown -R apache:apache /var/www/html/xcache-admin
    
  3. 瀏覽器訪問 https://IP/xcache-admin,輸入設定的帳號密碼,即可查看快取命中率、清除快取、檢視快取內容。

XCache 管理介面

效能對比測試方法

  1. 使用 ab (ApacheBench) 或 wrk 進行壓測:

# 測試無 XCache
ab -n 1000 -c 50 https://your-site.com/test.php

# 啟用 XCache 後重測
ab -n 1000 -c 50 https://your-site.com/test.php

觀察 Requests per second、Time per request、Transfer rate 指標提升幅度。

常見問題與解決

問題原因解決
phpize: command not found未安裝 php-develyum install php-devel / apt install php-dev
configure: error: Cannot find php-config路徑錯誤指定 --with-php-config=/usr/local/php/bin/php-config
啟動報錯: xcache.so undefined symbolPHP 版本不匹配 (TS/NTS、API 版本)重新編譯 XCache 對應當前 PHP 版本
管理介面 404htdocs 複製路徑錯誤確認 DocumentRoot 下存在 xcache-admin/index.php
快取命中率低TTL 過短、快取大小不足、程式碼頻繁變動調大 xcache.size、xcache.ttl、排除開發目錄

遷移建議:XCache → OPcache

若 PHP ≥ 5.5,強烈建議遷移至內建 OPcache:

  1. 停用 XCache:註解 php.ini 中 xcache 區塊。
  2. 啟用 OPcache:

zend_extension=opcache.so
opcache.enable=1
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.revalidate_freq=60
opcache.fast_shutdown=1
opcache.enable_cli=1

OPcache 效能優於 XCache、無需額外編譯維護、官方長期支援。

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