You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows IIS服务器下PHP 8的Memcache配置与故障解决

Windows IIS 下 PHP 8 配置 Memcached 完整步骤

先纠正你的核心错误

你之前从PECL下载的是PHP的Memcached扩展,不是Memcached服务端程序,所以解压后找不到memcached.exe,这是命令执行失败的根本原因。下面是完整的配置流程:

一、安装 Memcached 服务端

  • 下载适配Windows系统(x86/x64)的Memcached服务端稳定版,解压到C:\memcached目录
  • 以管理员身份打开命令提示符(CMD),执行以下命令:
    cd C:\memcached
    memcached.exe -d install
    memcached.exe -d start
    
  • 验证:打开Windows服务管理器,确认memcached服务处于运行状态

二、安装 PHP 8 对应的 Memcached 扩展

  • 从PECL获取适配PHP 8.0、对应系统位数(x86/x64)、线程安全(TS)/非线程安全(NTS)的Memcached扩展包(可通过phpinfo()查看你的PHP线程安全状态)
  • 解压扩展包,将php_memcached.dll复制到PHP安装目录的ext文件夹
  • 将扩展包中的依赖文件libmemcached.dll、libsasl.dll复制到C:\Windows\System32(或PHP根目录,确保系统能加载这些依赖)

三、配置 PHP 启用扩展

  • 打开IIS使用的php.ini文件(可通过phpinfo()查看Loaded Configuration File路径确认)
  • 在Dynamic Extensions区域添加一行:
    extension=php_memcached.dll
    
  • (可选)添加Memcached基础配置:
    memcached.default_host = 127.0.0.1
    memcached.default_port = 11211
    

四、验证配置

  • 重启IIS服务:打开CMD执行iisreset
  • 创建phpinfo.php文件,内容如下:
    <?php phpinfo(); ?>
    
  • 访问该文件,搜索memcached,确认扩展已成功加载
  • 测试连接:创建测试脚本test_memcached.php:
    <?php
    $mem = new Memcached();
    $mem->addServer('127.0.0.1', 11211);
    $mem->set('test', 'Memcached works!', 3600);
    echo $mem->get('test');
    ?>
    
    访问脚本,若输出Memcached works!则配置完成

常见问题排查

  • 命令执行报错'memcached.exe' is not recognized:确保操作的是Memcached服务端程序,而非PHP扩展包,且已进入服务端所在目录或使用完整路径执行命令(如C:\memcached\memcached.exe -d install)
  • 扩展加载失败:检查扩展文件与PHP版本、位数、线程安全状态是否匹配,依赖dll是否已放置到正确路径
  • IIS重启后扩展未生效:确认修改的是IIS实际加载的php.ini文件

内容的提问来源于stack exchange,提问作者Suraj

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 01:05:46