xampp 的 php 架构(版本、ts/nts、x86/x64)必须与 php_redis.dll 完全匹配,否则扩展加载失败;需通过 php -v 和 php -i 确认配置,下载对应 ts 版本 dll,放入 ext 目录并在 php.ini 中添加 extension=redis;redis 服务需单独安装并启动,最后通过 test-redis.php 验证扩展加载与连接。

确认 XAMPP 版本与 PHP 架构是否匹配
Redis 扩展的 php_redis.dll 必须和 XAMPP 自带的 PHP 版本、线程安全(TS/NTS)模式、架构(x86/x64)完全一致,否则会报 PHP Startup: Unable to load dynamic library 'redis' 或直接导致 Apache 启动失败。
执行 php -v 和 php -i | findstr "Thread Safe"(Windows 命令行)确认:
- PHP 版本(如 8.2.12)
-
Thread Safe => enabled→ 选 TS 版本 DLL - XAMPP 安装路径是
C:\xampp→ 对应 PHP 在C:\xampp\php
常见坑:从 pecl.php.net 下载的 DLL 默认是 NTS,而 XAMPP 多数版本用 TS;下载错会导致 PHP Warning: Module 'redis' already loaded 或静默失效。
下载并安装 redis.dll 到 PHP 扩展目录
去 windows.php.net/pecl/releases/redis/ 找对应版本(例如 redis-5.3.7-8.2-ts-vs16-x64.zip),解压后取 php_redis.dll 放入 C:\xampp\php\ext\。
编辑 C:\xampp\php\php.ini,在 ;extension=mysqli 附近添加一行:
extension=redis
注意:不要写成 extension=php_redis.dll(PHP 8+ 已支持省略前缀和后缀);也不要用绝对路径——否则重启 Apache 会报 Invalid configuration directive。
启动 Redis 服务(非必须但推荐用 Windows Service)
XAMPP 不自带 Redis 服务,需单独部署。推荐使用 MicrosoftArchive/redis 的 Windows port(仅限开发环境)。
解压后以管理员身份运行命令行,执行:
Redis 缓存和数据结构管理技能。通过自然语言操作 Redis,支持 String、Hash、List、Set、ZSet、Stream 等数据结构操作。当用户提到 Redis、缓存、消息队列、会话存储时使用此技能。
redis-server --service-install redis.windows.conf --loglevel verbose
然后启动服务:
redis-server --service-start
验证是否运行:redis-cli ping 应返回 PONG。若提示“不是内部或外部命令”,需把 redis-cli.exe 所在目录加进系统 PATH。
常见问题:服务启动后端口被占用(默认 6379)→ 检查 redis.windows.conf 中 port 6379 是否冲突;或用 netstat -ano | findstr :6379 查进程。
验证扩展是否生效且能连接 Redis
新建 C:\xampp\htdocs\test-redis.php:
<?php <br>var_dump(extension_loaded('redis')); // 应返回 true<br>$redis = new Redis();<br>var_dump($redis->connect('127.0.0.1', 6379)); // 应返回 true<br>$redis->set('foo', 'bar');<br>echo $redis->get('foo'); // 输出 bar<br>?>
访问 http://localhost/test-redis.php。如果页面空白或报 Class 'Redis' not found,说明扩展未加载成功;若报 Connection refused,则是 Redis 服务没起来或配置端口不对。
关键细节:XAMPP 控制面板里点击 “Start” Apache 后,PHP 配置才真正重载;改完 php.ini 必须重启 Apache,不能只刷新页面。










