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

PHP 7 安裝 Redis 擴展完整教程:Linux 編譯與 Windows DLL 方案

     編輯:PHP 綜合知識

前言

Redis 擴展是 PHP 高性能緩存必備。本文提供 PHP 7 專用安裝指南:Linux 從源碼編譯 phpredis、Windows 下載預編譯 DLL,含驗證與常見錯誤解決。

Linux 編譯安裝(推薦 phpredis 5.x 支援 PHP 7.0-7.4)

# 1. 安裝依賴
yum install -y gcc make php7-devel  # 或 apt install php7.4-dev

# 2. 下載 phpredis PHP 7 兼容版本
cd /usr/local/src
wget -c https://github.com/phpredis/phpredis/archive/5.3.4.tar.gz -O phpredis-5.3.4.tar.gz
tar zxvf phpredis-5.3.4.tar.gz
cd phpredis-5.3.4

# 3. 編譯安裝
/usr/local/php7/bin/phpize
./configure --with-php-config=/usr/local/php7/bin/php-config
make -j$(nproc)
make install

# 4. 啟用擴展
echo "extension=redis.so" > /usr/local/php7/etc/php.d/redis.ini

# 5. 重啟 PHP-FPM
systemctl restart php7-fpm
# 或 service php-fpm restart

Windows 安裝(預編譯 DLL)

  1. 確認 PHP 版本、架構、線程安全性:php -i | findstr "Thread Safety" → Thread Safety: enabled → TS,disabled → NTS。
  2. 下載對應 DLL:
    PECL 官方發布頁 → 選擇 php_redis-5.3.4-7.4-ts-vc15-x64.zip(示例:PHP 7.4 TS VC15 x64)。
  3. 解壓 php_redis.dll 到 PHP ext 目錄(如 C:\php\ext)。
  4. 編輯 php.ini,添加:extension=redis(無需 .dll 後綴)。
  5. 重啟 Apache/Nginx/IIS。

驗證安裝

# CLI
php -m | grep redis
# redis

# 代碼測試
php -r '$r=new Redis(); $r->connect("127.0.0.1",6379); $r->set("test","hello"); echo $r->get("test");'
# hello

實戰代碼示例:投票計數器(緩存+定時持久化)

connect('127.0.0.1', 6379);

$key = "vote:article:{$aid}";
$current = $r->incr($key); // 原子自增

// 設置過期時間(7 天),防止鍵永久佔用內存
$r->expire($key, 7 * 24 * 3600);

if ($current >= $updateTill) {
    // 達到閾值,異步寫入 MySQL(生產環境建議用隊列)
    if ($current > $updateTill) { // 防止重複寫入
        require_once __DIR__ . '/db.php';
        $pdo->exec("UPDATE articles SET votes = votes + {$updateTill} WHERE id = {$aid}");
        // 重置 Redis 計數器(保留餘數)
        $r->set($key, $current - $updateTill);
    }
}

echo $current; // 返回當前票數供前端顯示

常見問題解決

問題原因解決
phpize: command not found未安裝 php-devel / 路徑問題yum install php7-devel;用絕對路徑 /usr/local/php7/bin/phpize
configure: error: json.h not found缺 PHP JSON 擴展開發頭文件yum install php7-json-devel / php7.4-dev
make 失敗:redis.c: 'zend_class_entry' has no member named 'default_properties'phpredis 版本與 PHP 版本不匹配PHP 7.0-7.4 用 phpredis 5.x;PHP 8.x 用 6.x+
Windows 啟動報錯:無法加載動態庫 php_redis.dllDLL 版本不匹配(TS/NTS、VC14/VC15、x86/x64)嚴格對應 php -i 輸出的版本信息下載
Redis 連接超時防火牆/綁定地址/密碼檢查 redis.conf bind、requirepass、防火牆 6379 端口

版本對應表(關鍵)

PHP 版本phpredis 版本備註
7.0 - 7.45.3.x (最後 5.3.7)PHP 7.4 官方支持結束 2022-11
8.0 - 8.26.0.xPHP 8.0+ 原生 JIT,性能更強
8.3+6.1.x+持續更新

結語

PHP 7 安裝 Redis 擴展核心在於:版本嚴格對應(phpredis 5.x 對應 PHP 7.x)、Linux 用 phpize 編譯、Windows 嚴格匹配 TS/NTS/VC/架構下載 DLL。生產環境建議升級至 PHP 8.2+ + phpredis 6.x,享受原生 JIT 加速與長期支持。

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