🚀 PHP 8.2 (Windows) 安装 Redis 扩展最新教程
随着 PHP 版本的迭代,很多旧的扩展下载源可能还没来得及更新正式包。如果您升级到了 PHP 8.2 ,在常规下载地址找不到对应的 php_redis.dll 是正常的。
本文将教您如何从 PECL 官方快照库 中下载并安装适配 PHP 8.2 的 Redis 扩展。
📋 第一步:确认 PHP 8.2 环境详情
在下载之前,必须精确匹配以下三个参数,否则扩展无法加载:
- 线程安全 (TS/NTS)
- 架构 (x64/x86)
- 编译器版本 (VS16/VS17)
打开 PowerShell 或 CMD,运行:
powershell
php -i | findstr "Thread Safety"
php -i | findstr "Architecture"
php -i | findstr "Compiler"
典型输出示例(请记录您的实际结果):
- Thread Safety => enabled (代表需要 TS 版本)
- Architecture => x64
- Compiler => VS16 (PHP 8.0-8.2 通常使用 VS16,部分新版可能是 VS17)
💡 提示 :如果您使用的是 phpstudy、xampp 等集成环境,通常在"切换版本"或"扩展管理"里能看到这些信息。如果是手动安装的 PHP 8.2,大概率是 TS, x64, VS16。
📥 第二步:下载 PHP 8.2 专用的 Redis DLL
✅ 推荐下载地址
请直接访问以下 PECL 库:
👉 https://pecl.php.net/package/redis/
👉 https://pecl.php.net/package/igbinary/ 建议一起安装
🔍 如何选择文件?
在页面中找到文件名包含 8.2 的 zip 包。文件名格式通常如下:
php_redis-[版本号]-[PHP版本]-[TS/NTS]-[编译器]-[架构].zip
根据您的环境选择(假设您是 TS, x64, VS16):
- 寻找类似:
php_redis-5.3.7-8.2-ts-vs16-x64.zip - 或者更新的版本:
php_redis-5.3.8-8.2-ts-vs16-x64.zip
注意:
- 如果您的 PHP 是 NTS ,请下载带
nts字样的包。- 如果页面中没有
vs16,只有vs17,且您的 PHP 也是 vs17,则选 vs17。编译器版本必须一致。
图片流程
第一步

第二步

🔧 第三步:安装配置
-
解压文件
下载完成后,解压 ZIP 包。您会看到:
php_redis.dll(核心文件,必须)php_igbinary.dll(依赖文件,强烈建议一起安装,能提升性能)
-
复制到 ext 目录
找到 PHP 8.2 安装目录下的
ext文件夹。- 例如:
D:\php\php8.2\ext - 将
php_redis.dll和php_igbinary.dll复制进去。
- 例如:
-
修改 php.ini
打开 PHP 8.2 对应的
php.ini文件,添加或修改以下两行(建议先启用 igbinary,再启用 redis):iniextension=php_igbinary extension=php_redis(如果文件中已有
extension=redis但被注释,去掉分号即可;如果没有,请在文件末尾新增) -
保存并重启
- 保存
php.ini。 - 如果是命令行使用,新开一个终端窗口即可。
- 如果是 Web 服务 (Apache/Nginx/IIS),务必重启 Web 服务。
- 保存
✅ 第四步:验证安装
运行以下命令检查:
powershell
php -m | findstr redis
- 成功 :输出
redis,且没有任何 Warning 报错。 - 失败 :
- 如果报
Unable to load dynamic library:通常是 TS/NTS 选错,或者 VS16/VS17 不匹配。请回到第二步重新核对下载。 - 如果报
Cannot find module:检查 dll 是否真的放进了ext目录。
- 如果报
您也可以创建一个 info.php 文件测试:
php
<?php
phpinfo();
?>
在浏览器访问该文件,搜索 "redis",如果出现红色的 Redis 配置板块,说明安装完美成功!
🎉 最后:运行 Composer
现在您的 PHP 8.2 环境已经完美支持 Redis,回到项目目录再次执行:
powershell
composer install
之前的 BadFunctionCallException: not support: redis 错误将彻底消失,项目初始化流程会顺利走完。
💡 常见问题 Q&A
Q: 为什么 pecl.php.net 上找不到下载按钮?
A: pecl.php.net 主要提供源码包(.tgz)和文档。Windows 用户需要的预编译 .dll 文件是由 PHP 官方团队构建并托管在 windows.php.net 上的。
Q: 需要安装 php_igbinary.dll 吗?
A: 虽然不是强制的,但 Redis 扩展官方强烈推荐安装 igbinary 作为序列化驱动,它能显著提高 Redis 读写性能并减少内存占用。如果在下载包里看到了它,请务必一并安装并在 php.ini 中启用。
祝您开发愉快!