phpEnv启用Memcached需三步:一、用内置扩展管理器安装php_memcached.dll并重启服务;二、手动下载匹配DLL并配置php.ini;三、单独安装并启动Memcached服务端,最后用测试脚本验证连通性。

如果您在使用phpEnv环境管理工具时需要启用Memcached缓存功能,但发现PHP无法调用Memcached客户端,则可能是由于Memcached服务未运行、PHP扩展未安装或配置未生效。以下是针对phpEnv环境的多种安装与启用方案:
一、通过phpEnv内置扩展管理器安装(推荐)
phpEnv提供图形化界面集成扩展安装功能,适用于Windows平台且已部署标准phpEnv套件的用户。该方式无需手动编译,可自动匹配PHP版本与线程安全标识(TS/NTS)。
1、启动phpEnv控制面板,点击当前所选PHP版本右侧的【管理】按钮。
2、在弹出窗口中切换至【扩展】选项卡。
立即学习“PHP免费学习笔记(深入)”;
3、在扩展列表中查找memcached(注意区分memcache与memcached),勾选后点击【安装】。
4、安装完成后,phpEnv会自动修改对应PHP版本的php.ini文件,在末尾追加类似extension=php_memcached.dll的行,并重启内置Apache/Nginx服务。
5、访问http://127.0.0.1/phpinfo.php,搜索memcached support,确认其值为enabled。
二、手动下载DLL扩展并配置(兼容旧版phpEnv)
当phpEnv内置扩展库未收录所需版本的memcached扩展时,需手动获取匹配的php_memcached.dll文件,并确保其与当前PHP的架构(x86/x64)、编译器(VC15/VC16)、线程模型(TS/NTS)完全一致。
1、访问PECL官网对应页面:https://windows.php.net/downloads/pecl/releases/memcached/,根据phpEnv中显示的PHP版本(如8.1 TS x64)选择对应ZIP包。
2、解压ZIP文件,提取其中的php_memcached.dll文件。
3、将该DLL文件复制到phpEnv中对应PHP版本的ext目录下,路径形如:C:\phpEnv\php\php-8.1-ts-x64\ext\。
4、用记事本打开该PHP版本的php.ini文件(通常位于同一目录),在;extension=区域末尾新增一行:extension=php_memcached.dll。
5、保存php.ini,返回phpEnv控制面板,点击【重启服务】使配置生效。
三、启用Memcached服务端(必需步骤)
仅安装PHP扩展不足以运行Memcached功能,必须同时启动独立的Memcached守护进程,PHP客户端才能连接成功。phpEnv不自带Memcached服务,需单独部署。
1、下载Memcached for Windows官方二进制包:https://github.com/memcached/memcached/releases,选择最新memcached-X.X.X-windows-x64.zip版本。
2、解压至固定路径,例如:C:\memcached\。
3、以管理员身份运行CMD,执行以下命令安装为Windows服务:cd /d C:\memcachedmemcached.exe -d install
4、启动服务:memcached.exe -d start。
5、验证服务状态:执行echo stats | nc 127.0.0.1 11211(需提前安装netcat)或使用telnet连接127.0.0.1:11211,收到响应即表示服务已就绪。
四、验证PHP Memcached客户端连通性
完成扩展加载与服务启动后,需编写测试脚本确认PHP可正常连接并操作Memcached服务器。
1、在Web根目录下新建test_memcached.php文件。
2、写入以下代码:
<?php
$m = new Memcached();
$m->addServer('127.0.0.1', 11211);
$result = $m->set('test_key', 'phpEnv_works', 30);
var_dump($result);
echo "Retrieved: " . $m->get('test_key');
?>
3、通过浏览器访问该文件,若输出bool(true) Retrieved: phpEnv_works,表明Memcached扩展与服务端已正确协同工作。



















