phpEnv不自带Redis扩展,需手动匹配PHP版本、TS/NTS类型及架构,将对应php_redis.dll放入phpenv\versions{version}\ext\目录,并在该版本php.ini中添加extension=php_redis.dll,再重启PHP服务;同时须单独运行redis-server.exe确保6379端口就绪。

phpEnv 是 Windows 下轻量级 PHP 环境管理工具(类似 XAMPP 但更精简),它不自带 Redis 扩展,也**不会自动识别系统已装的 redis.dll** —— 你必须手动匹配版本、放对路径、改对配置,否则 new Redis() 会直接报错 Class 'Redis' not found。
确认 phpEnv 当前 PHP 的精确版本与 ABI 类型
phpEnv 可能同时管理多个 PHP 版本(如 7.4、8.1、8.2),每个版本的 php_redis.dll 都不能混用。关键不是“PHP 大版本”,而是:主版本号 + TS/NTS + 架构(x64/x86)三者必须严丝合缝。
- 在 phpEnv 控制面板中选中当前启用的 PHP 版本,点击「PHP Info」打开页面,搜索
PHP Version(例如8.1.23) - 搜索
Thread Safety:显示enabled→ 用ts版;disabled→ 用nts版 - 搜索
Architecture:显示x64就别下x86包,反之亦然 - 常见错误:phpEnv 默认用 NTS 版 PHP,但用户下载了 TS 版 DLL,导致扩展加载失败且无明确报错
下载并放置 php_redis.dll 到 phpEnv 对应 ext 目录
phpEnv 的 PHP 安装目录结构是:phpenv\versions\{version}\,其中 ext 子目录才是扩展真实存放位置,不是 phpEnv 主程序目录下的 ext。
- 去 https://www.php.cn/link/7e1778994e19321c01d18786dc19e1f2 找对应组合的 ZIP 包,例如:
redis-5.3.7-8.1-nts-vs16-x64.zip - 解压后只取
php_redis.dll(无需php_igbinary.dll,除非你明确要用 igbinary 序列化) - 复制到:
phpenv\versions\8.1.23\ext\(路径必须和你当前启用的版本完全一致) - 别手抖复制到
phpenv\root\ext\或其他位置——phpEnv 不会从那里加载
修改 phpEnv 管理的 php.ini 文件
phpEnv 每个 PHP 版本都有独立的 php.ini,位于:phpenv\versions\{version}\ 下。必须编辑这个文件,而不是系统里其他地方的 php.ini。
立即学习“PHP免费学习笔记(深入)”;
- 用记事本或 VS Code 打开:
phpenv\versions\8.1.23\php.ini - 在
; Dynamic Extensions区域(或文件末尾)添加一行:extension=php_redis.dll - 确保这一行**没有被分号注释**,且拼写完全正确(大小写不敏感,但少个下划线就失败)
- 保存后,在 phpEnv 控制面板中「重启 PHP 服务」或「切换一次 PHP 版本再切回来」,强制重载配置
- 验证:访问 phpinfo() 页面,Ctrl+F 搜
redis,看到 Redis support: enabled 即成功
连接 Redis 服务前先确认 redis-server 已运行
phpEnv 只管 PHP,不管 Redis 服务端。即使扩展加载成功,$redis->connect() 仍会因连接拒绝而报错 —— 因为根本没 Redis 进程在监听 6379 端口。
- 推荐用 MicrosoftArchive/redis 下载 Windows 原生版(非 WSL),解压后双击
redis-server.exe启动(窗口保持打开) - 或者用命令行启动并后台运行:
start /min redis-server.exe --port 6379 - 测试是否通:打开新命令行,执行
redis-cli ping,返回PONG才算真正就绪 - 常见坑:杀掉 redis-server.exe 后忘记重启,或防火墙拦截了 6379 端口(本地开发一般不用关防火墙,但得确认没被其他软件占用)
最容易被忽略的是:phpEnv 的「PHP 重启」按钮只重载 PHP 进程,不帮你启停 Redis;而很多人以为点了重启就万事大吉,结果代码里 new Redis() 能执行,但 connect() 一直 timeout —— 其实只是 Redis 根本没跑。



















