Win11 环境下 phpStudy 安装 Redis 最新版,并为 PHP 8.5.9(NTS)配置 redis 扩展
本教程面向 Windows 11 本地开发环境 :使用 phpStudy Pro,目标完成两件事------① 在 Windows 上装好 Redis(尽量用较新版本);② 给 phpStudy 里手工放置的 PHP 8.5.9(NTS) 装上 redis 扩展,让 PHP 能通过
new Redis()连接 Redis。前置条件 :已按上一篇教程把 PHP 8.5.9(NTS)手工放入 phpStudy 并生成
php.ini,目录为D:\phpstudy_pro\Extensions\php\php8.5.9nts。如果你还没完成这一步,请先参考「phpStudy 手工安装最新稳定版 PHP 8.5.9(NTS)方法」。特别提醒 :Redis 官方不提供 Windows 版 ,只发布 Linux 版本。Windows 下能装的都是社区/第三方「移植版或兼容版」。另外,phpStudy 软件管理里自带的 Redis 版本很旧(仅 Redis 3.0.504 ),功能落后,所以本教程重点讲手动安装较新的 Windows 移植版 Redis。
一、认识 Redis 与 Windows 的几种安装方案
Redis 官方只支持 Linux,Windows 11 上常见方案如下:
| 方案 | 说明 | 版本新旧 | 上手难度 |
|---|---|---|---|
| phpStudy 软件管理一键安装 | 面板里点一下即装好并托管服务 | 很旧(仅 Redis 3.0.504) | 最低 |
| Windows 原生移植版(手动) | 从 GitHub 下载编译好的 Windows 版 Redis | 可拿到较新版本 | 中等 |
| WSL2 安装官方 Redis | 真正用上官方最新版 Redis | 最新 | 较高(需处理与 Windows PHP 的网络互通) |
由于 phpStudy 自带的 Redis 只有 3.0.504,本教程推荐直接采用方式二(手动安装较新版本);方式一仅作最省事的备选,适合对版本无要求的场景。
二、方式一:phpStudy 软件管理一键安装 Redis(最简单,但版本旧)
⚠️ 注意 :phpStudy 软件管理里自带的 Redis 是 Redis 3.0.504(2016 年的老版本),很多新特性(如 Stream、新版集群命令等)都不支持。对版本有要求的话,请跳过本节,直接用「方式二」手动安装较新版本。
-
打开 phpStudy Pro 面板,进入「软件管理」。
-
在列表中找到 Redis(通常在「数据库」或「工具」分类下)。
-
点击「安装」,等待下载安装完成。
-
回到首页,在服务列表中启动 Redis (默认端口
6379)。 -
验证是否启动成功。打开 phpStudy 自带的命令行工具(或进入 Redis 安装目录)执行:
textredis-cli.exe ping返回
PONG即表示 Redis 运行正常。
这种方式最简单,但版本停在 3.0.504,仅适合对 Redis 版本没有要求、只想本地跑通的场景。装完即可直接跳到「四、下载 PHP redis 扩展」。
三、方式二:手动安装 Windows 原生移植版 Redis(推荐,解决内置版本过旧)
因为 phpStudy 内置 Redis 只有 3.0.504,太旧,所以推荐走本节手动安装,换成较新的 Windows 移植版。
3.1 下载 Windows 版 Redis
提供 Windows 版 Redis 的常见来源:
- redis-windows/redis-windows (GitHub):
https://github.com/redis-windows/redis-windows/releases,提供较新的 Redis 7.x Windows 版,追求新版本首选。 - tporadowski/redis (GitHub):
https://github.com/tporadowski/redis/releases,提供 Redis 5.0.x 的 Windows 移植版(zip / msi),老牌稳定,大量教程使用。
以 redis-windows/redis-windows 为例(追求老牌稳定也可改选 tporadowski/redis,步骤一致):
-
打开 Releases 页面,下载最新的
.zip(例如Redis-7.x-Windows-x64.zip,版本号以页面实际最新为准)。 -
解压到指定目录,例如:
textD:\Redis\ -
解压后目录内应能看到这些文件:
textD:\Redis\ ├── redis-server.exe ├── redis-cli.exe └── redis.windows.conf
3.2 启动 Redis,并注册为 Windows 服务(可选)
-
前台启动 (临时验证用):双击
redis-server.exe即可。 -
注册为 Windows 服务 (开机自启、后台常驻):用管理员身份打开 CMD 或 PowerShell,进入 Redis 目录后依次执行:
textredis-server.exe --service-install redis.windows.conf --service-name redis redis-server.exe --service-start --service-name redis -
验证:
textredis-cli.exe ping返回
PONG即成功。
说明:
redis.windows.conf里bind 127.0.0.1、port 6379默认即可,本地开发无需改动。若想设置密码,把requirepass前的#去掉并设置密码,同时后面 PHP 连接时也要带上密码。
四、下载与 PHP 8.5.9(NTS)匹配的 redis 扩展(关键)
phpStudy 手工放置的官方 PHP 包里默认不带 php_redis.dll------redis 是 PECL 扩展,不随 PHP 官方安装包分发,所以必须单独下载。
核心原则 :下载的扩展 DLL 必须与 PHP 的 版本号(8.5)、架构(x64)、线程安全性(NTS)、编译器(VS17) 完全一致,否则会加载失败或直接报错。
-
打开 PECL 的 redis 扩展页面:
texthttps://pecl.php.net/package/redis -
找到提供 Windows DLL 的版本,选择与 PHP 8.5 + x64 + NTS + VS17 对应的包下载,文件名形如:
textphp_redis-6.x.x-8.5-nts-vs17-x64.zip
具体版本号以页面实际提供的为准(例如 6.2.x 系列起支持 PHP 8.5)。务必认准文件名里的
8.5、nts、vs17、x64这几个关键字,缺一不可。 -
解压后得到
php_redis.dll文件。
如果 PECL 页面上暂时找不到 PHP 8.5 对应的 Windows DLL,说明该版本 Windows 二进制还没发布。可考虑:① 换用 phpStudy 内置 PHP 版本(其
ext目录自带较全的扩展 DLL);② 等待官方发布;③ 自行编译(门槛较高,不展开)。
五、放置扩展文件并修改 php.ini
-
把
php_redis.dll复制到 PHP 8.5.9 的扩展目录:textD:\phpstudy_pro\Extensions\php\php8.5.9nts\ext\ -
打开 php.ini:
textD:\phpstudy_pro\Extensions\php\php8.5.9nts\php.ini -
确认
extension_dir指向ext目录(一般默认即是):iniextension_dir = "ext" -
在扩展配置区添加一行(注意确保行首没有分号):
iniextension=redis提示:
php_redis.dll对应的 ini 写法就是extension=redis(前缀php_与后缀.dll会自动补全)。如需更完整的序列化支持,可再配合安装 igbinary,但本地开发非必须。 -
保存
php.ini。
六、重启并验证
-
回到 phpStudy 面板,重启该网站对应的服务(或直接重启整个环境)。
-
确认 Redis 服务处于启动状态。
-
在网站根目录新建
redis_test.php,内容如下:php<?php // 1. 检查扩展是否加载 if (!extension_loaded('redis')) { exit('redis 扩展未加载'); } // 2. 连接本机 Redis $redis = new Redis(); $redis->connect('127.0.0.1', 6379); // 3. 写入并读取一个测试值 $redis->set('phpstudy:test', 'hello redis'); echo $redis->get('phpstudy:test'); // 预期输出:hello redis -
浏览器访问该文件,若输出
hello redis,说明 Redis 服务与 PHP redis 扩展均工作正常。也可以另建
phpinfo.php(内容为<?php phpinfo();),在页面里搜索 redis,能看到 redis 区块(含版本号)即表示扩展已成功加载。
七、常见问题
-
PHP 启动报错「无法定位程序输入点」或 DLL 加载失败?
扩展版本不匹配。重新确认下载的是
8.5 + nts + vs17 + x64的 DLL。TS/NTS 选错是最常见原因------phpStudy 用 NTS,别下成 TS。 -
php.ini 加了
extension=redis,但 phpinfo 里没有 redis?依次排查:① DLL 是否放进了正确的
ext目录;② 改的是否是当前 PHP 实际加载的那份php.ini(别改错文件);③ 改完是否重启了服务。 -
连接
127.0.0.1:6379被拒绝?Redis 服务没启动,或端口被占用。先确认
redis-cli.exe ping能返回PONG。 -
phpStudy 内置 Redis 版本旧(3.0.504),想升级?
停掉内置 Redis,再按「方式二」手动安装新版本并注册服务即可,注意两个 Redis 的端口不要冲突。
-
Redis 设了密码后 PHP 连不上?
连接时带上密码,例如:
php$redis->connect('127.0.0.1', 6379); $redis->auth('你的密码');
总结 :因为 phpStudy 内置 Redis 只有老旧的 3.0.504,整个流程分两段------装 Redis (推荐到 GitHub 下较新的 Windows 移植版并注册服务;对版本无要求时才用软件管理一键装)和装 PHP 扩展 (到 PECL 下与
8.5 + NTS + x64 + VS17严格匹配的php_redis.dll,放进ext目录,php.ini加extension=redis,重启验证)。记住两点即可避坑:Redis 官方没有 Windows 版;PHP 扩展的版本、架构、NTS/TS 必须与 PHP 完全一致。