在 Windows 開發環境(如 WAMP、XAMPP)中啟用 Redis 擴展,需注意 PHP 版本、執行緒安全性(TS/NTS)、VC 編譯版本(VC11/VC14)匹配。本文以 PHP 5.5 為例,記錄完整安裝流程。
建立 phpinfo.php 查看關鍵項:
D:\php\ext官方 PECL 快照頁面:https://windows.php.net/downloads/pecl/snaps/redis/
選擇版本 2.2.5(PHP 5.5 相容),下載:
php_redis-2.2.5-5.5-ts-vc11-x86.zip (TS, VC11, x86)php_igbinary-2.0.1-5.5-ts-vc11-x86.zip (Redis 依賴 igbinary 序列化)⚠️ 必須同時安裝 php_igbinary.dll,否則 Redis 擴展無法載入。
php_redis.dll、php_igbinary.dll 複製到 PHP ext 目錄(如 D:\php\ext)。php.ini,在 [ExtensionList] 區段或檔案末尾添加:
extension=php_igbinary.dll extension=php_redis.dll順序重要:igbinary 必須在 redis 之前載入。
phpinfo(),搜尋 "redis" 區塊,出現版本資訊即安裝成功。<?php
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
$redis->set('test_key', 'Hello Windows Redis!');
echo $redis->get('test_key'); // 輸出: Hello Windows Redis!
?>
| 現象 | 原因 | 解決 |
|---|---|---|
| Apache 啟動報錯 "Unable to load dynamic library" | DLL 版本不匹配 (TS/NTS、VC版本、位數) | 核對 phpinfo 資訊,重新下載對應套件 |
| phpinfo 無 redis 區塊 | extension 順序錯誤、未重啟服務、php.ini 未生效 | 確認 igbinary 在前、重啟、用 php --ini 定位正確 ini |
| Class 'Redis' not found | 擴展未載入或命名空間衝突 | 檢查 extension_dir、確認無同名類別 |
遵循「版本、執行緒、編譯器、架構」四要素匹配原則,Windows 下安裝 PHP 擴展不再踩坑。