phpEnv需手动安装Redis/Memcached扩展:先查PHP版本、TS/NTS、架构及php.ini路径;下载匹配DLL放入ext目录并配置extension;Memcached还需libmemcached.dll;重启服务后用php -m或phpinfo验证。

phpEnv 是一款面向 Windows 的 PHP 集成环境(类似 phpStudy),自带 Nginx/Apache、MySQL 和多版本 PHP 切换功能。它不默认启用 Redis 或 Memcached 扩展,需手动安装对应 DLL 文件并配置。关键点很明确:服务端(Redis/Memcached)和 PHP 扩展是两回事,缺一不可;且 Windows 下必须用匹配 PHP 版本、线程安全(TS)/非线程安全(NTS)、架构(x64/x86)的 DLL。
确认 PHP 环境细节
先打开 phpEnv 控制面板 → 点击当前运行的 PHP 版本 → “PHP 信息” → 查看页面顶部的 PHP Version、Thread Safety(显示 enabled 即 TS,disabled 即 NTS)、Architecture(x64 或 x86)。同时记下 Loaded Configuration File 路径(如 D:\phpenv\php\php-8.2-ts\php.ini),这是后续修改配置的位置。
安装 Redis 扩展(Windows)
去 PECL 官网 redis 页面,下载与你 PHP 版本完全匹配的 DLL 包(例如 PHP 8.2 TS x64 对应 php_redis-5.3.7-8.2-ts-vs16-x64.zip)。解压后,把 php_redis.dll 放入 phpEnv 对应 PHP 版本的 ext 目录(如 D:\phpenv\php\php-8.2-ts\ext\)。然后编辑上面查到的 php.ini,在 [Dynamic Extensions] 段落末尾添加一行:
extension=php_redis.dll
立即学习“PHP免费学习笔记(深入)”;
保存后,在 phpEnv 面板中重启该 PHP 版本服务。验证方式:运行 php -m | findstr redis(命令行),有输出即成功;或刷新 phpinfo() 页面搜索 “redis”。
安装 Memcached 扩展(Windows)
Memcached 扩展依赖 libmemcached 运行时库,不能只放 DLL。步骤分三步:
- 下载匹配的 php_memcached.dll(同样从 PECL 获取,注意版本、TS/NTS、架构)
- 下载对应版本的 libmemcached.dll(通常随 DLL 包一起提供,或从 第三方编译仓库 获取),放入 D:\phpenv\php\php-8.2-ts\ 根目录(与 php.exe 同级)
- 编辑 php.ini,在 [Dynamic Extensions] 下添加:extension=php_memcached.dll
重启 PHP 服务后,用 php -m | findstr memcached 验证。注意:phpEnv 自带的 Memcached 服务端默认未开启,如需服务端,需单独下载 Windows 版 Memcached(如 memcached for Windows),解压后以服务方式运行,并监听 127.0.0.1:11211。
连接测试与常见报错
写个简单脚本验证是否真正可用:
$redis = new Redis();
var_dump($redis->connect('127.0.0.1', 6379)); // 应输出 bool(true)
$mem = new Memcached();
var_dump($mem->addServer('127.0.0.1', 11211)); // 应输出 bool(true)
?>
如果 connect() 或 addServer() 返回 false,优先检查:
• PHP 错误日志(phpEnv 日志目录下的 error.log)是否有 “unable to load dynamic library” 提示(DLL 路径/版本不匹配)
• 是否遗漏 libmemcached.dll(仅 Memcached 扩展需要)
• php.ini 修改后是否已重启 PHP,而非仅重启 Web 服务



















