Win11 环境下 phpStudy 安装 Redis 最新版,并为 PHP 8.5.9(NTS)配置 redis 扩展

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、新版集群命令等)都不支持。对版本有要求的话,请跳过本节,直接用「方式二」手动安装较新版本。

  1. 打开 phpStudy Pro 面板,进入「软件管理」。

  2. 在列表中找到 Redis(通常在「数据库」或「工具」分类下)。

  3. 点击「安装」,等待下载安装完成。

  4. 回到首页,在服务列表中启动 Redis (默认端口 6379)。

  5. 验证是否启动成功。打开 phpStudy 自带的命令行工具(或进入 Redis 安装目录)执行:

    text 复制代码
    redis-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,步骤一致):

  1. 打开 Releases 页面,下载最新的 .zip(例如 Redis-7.x-Windows-x64.zip,版本号以页面实际最新为准)。

  2. 解压到指定目录,例如:

    text 复制代码
    D:\Redis\
  3. 解压后目录内应能看到这些文件:

    text 复制代码
    D:\Redis\
    ├── redis-server.exe
    ├── redis-cli.exe
    └── redis.windows.conf

3.2 启动 Redis,并注册为 Windows 服务(可选)

  1. 前台启动 (临时验证用):双击 redis-server.exe 即可。

  2. 注册为 Windows 服务 (开机自启、后台常驻):用管理员身份打开 CMD 或 PowerShell,进入 Redis 目录后依次执行:

    text 复制代码
    redis-server.exe --service-install redis.windows.conf --service-name redis
    redis-server.exe --service-start --service-name redis
  3. 验证:

    text 复制代码
    redis-cli.exe ping

    返回 PONG 即成功。

说明:redis.windows.confbind 127.0.0.1port 6379 默认即可,本地开发无需改动。若想设置密码,把 requirepass 前的 # 去掉并设置密码,同时后面 PHP 连接时也要带上密码。


四、下载与 PHP 8.5.9(NTS)匹配的 redis 扩展(关键)

phpStudy 手工放置的官方 PHP 包里默认不带 php_redis.dll------redis 是 PECL 扩展,不随 PHP 官方安装包分发,所以必须单独下载。

核心原则 :下载的扩展 DLL 必须与 PHP 的 版本号(8.5)、架构(x64)、线程安全性(NTS)、编译器(VS17) 完全一致,否则会加载失败或直接报错。

  1. 打开 PECL 的 redis 扩展页面:

    text 复制代码
    https://pecl.php.net/package/redis
  2. 找到提供 Windows DLL 的版本,选择与 PHP 8.5 + x64 + NTS + VS17 对应的包下载,文件名形如:

    text 复制代码
    php_redis-6.x.x-8.5-nts-vs17-x64.zip

    具体版本号以页面实际提供的为准(例如 6.2.x 系列起支持 PHP 8.5)。务必认准文件名里的 8.5ntsvs17x64 这几个关键字,缺一不可。

  3. 解压后得到 php_redis.dll 文件。

如果 PECL 页面上暂时找不到 PHP 8.5 对应的 Windows DLL,说明该版本 Windows 二进制还没发布。可考虑:① 换用 phpStudy 内置 PHP 版本(其 ext 目录自带较全的扩展 DLL);② 等待官方发布;③ 自行编译(门槛较高,不展开)。


五、放置扩展文件并修改 php.ini

  1. php_redis.dll 复制到 PHP 8.5.9 的扩展目录:

    text 复制代码
    D:\phpstudy_pro\Extensions\php\php8.5.9nts\ext\
  2. 打开 php.ini:

    text 复制代码
    D:\phpstudy_pro\Extensions\php\php8.5.9nts\php.ini
  3. 确认 extension_dir 指向 ext 目录(一般默认即是):

    ini 复制代码
    extension_dir = "ext"
  4. 在扩展配置区添加一行(注意确保行首没有分号):

    ini 复制代码
    extension=redis

    提示:php_redis.dll 对应的 ini 写法就是 extension=redis(前缀 php_ 与后缀 .dll 会自动补全)。如需更完整的序列化支持,可再配合安装 igbinary,但本地开发非必须。

  5. 保存 php.ini


六、重启并验证

  1. 回到 phpStudy 面板,重启该网站对应的服务(或直接重启整个环境)。

  2. 确认 Redis 服务处于启动状态。

  3. 在网站根目录新建 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
  4. 浏览器访问该文件,若输出 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.iniextension=redis,重启验证)。记住两点即可避坑:Redis 官方没有 Windows 版;PHP 扩展的版本、架构、NTS/TS 必须与 PHP 完全一致。

相关推荐
2603_9651481110 小时前
如何解析JSON数据?API返回的商品信息处理教程
开发语言·数据库·python·自动化·json·api
ltl10 小时前
RocksDB 经典故障排查:L0、compaction 与 write stall
数据库
xfhuangfu11 小时前
Oracle中建立到CDB和PDB的连接
数据库·oracle·rpc
小小龙学IT11 小时前
DuckDB 深度实战:用 C++ 在进程内跑一个「分析型数据库」
数据库·c++
NineData11 小时前
DTCC 2026 预告|NineData CEO& 创始人叶正盛:面向 AI Agent 的数据库 DevOps 与数据复制实践
数据库·人工智能·数据库开发·devops·ninedata·数据库技术·dtcc
J_bean12 小时前
MySQL 事务是否必须手动开启?
数据库·mysql·数据库事务·自动提交·手动提交
J_bean12 小时前
MySQL InnoDB 如何检测死锁、判定死锁、处理死锁
数据库·mysql·死锁·死锁检测·处理死锁·死锁判定
浪子明X12 小时前
从 MongoDB 文档到关系模型:构建可重跑、可对账的数据迁移流水线
数据库·mongodb·oracle
杜子不疼.13 小时前
国产数据库撑起固井软件自主化:金仓 × 中海油服「海恒 Cemsol」落地解析
数据库