Mac本地PHP启用memcached需先确认PHP环境,再安装libmemcached依赖,接着通过pecl或Homebrew安装扩展并配置php.ini,最后启动memcached服务并验证连通性。

如果您在Mac本地PHP环境中需要使用Memcached缓存功能,但PHP无法识别memcached扩展,则可能是由于扩展未安装、未启用或依赖组件缺失。以下是完成memcached扩展安装与配置的完整操作流程:
一、确认PHP版本与安装方式
Mac系统中PHP可能来自系统自带、Homebrew、XAMPP、MAMP或phpbrew等不同来源,扩展安装路径和启用方式存在差异。需先明确当前PHP实际路径及编译方式,避免后续配置失效。
1、打开终端,执行 php -v 查看PHP版本信息。
2、执行 which php 获取PHP可执行文件路径。
立即学习“PHP免费学习笔记(深入)”;
3、执行 php --ini 查看php.ini加载位置及扫描目录。
4、执行 php -m | grep memcached 检查当前是否已加载memcached扩展。
二、安装libmemcached依赖库
memcached PHP扩展依赖于C语言客户端库libmemcached,必须先安装该底层库,否则扩展编译将失败。
1、若已安装Homebrew,执行 brew install libmemcached 安装最新稳定版。
2、如遇编译错误提示“sasl.h not found”,追加参数重装:brew install libmemcached --without-sasl。
3、安装完成后,执行 brew info libmemcached 确认安装路径(通常为 /opt/homebrew/ 或 /usr/local/)。
三、通过pecl安装memcached扩展
PECL是PHP官方扩展仓库,适用于大多数Homebrew或源码编译安装的PHP环境,支持自动下载、编译与安装。
1、执行 pecl install memcached 启动交互式安装流程。
2、当提示 libmemcached directory [no] : 时,输入libmemcached安装路径中的include目录,例如:/opt/homebrew/opt/libmemcached/include(Apple Silicon)或 /usr/local/opt/libmemcached/include(Intel)。
3、安装成功后,终端将输出类似 extension=memcached.so 的启用提示行。
4、将该行添加到php.ini主配置文件中:使用 echo "extension=memcached.so" >> $(php --ini | grep "Loaded Configuration File" | cut -d":" -f2 | tr -d " ") 自动追加。
四、通过Homebrew安装php-memcached(替代方案)
部分Homebrew PHP版本(如php@8.1、php@8.2)提供预编译的memcached扩展包,无需手动编译,适合快速启用。
1、执行 brew search memcached 查看可用扩展包,如 php@8.2-memcached。
2、安装对应PHP版本的扩展:brew install php@8.2-memcached(请将8.2替换为当前PHP主版本号)。
3、安装后,扩展so文件通常位于 /opt/homebrew/lib/php/pecl/20220829/memcached.so(路径含PHP ABI编号)。
4、编辑php.ini,在末尾添加:extension="/opt/homebrew/lib/php/pecl/20220829/memcached.so"(路径需与实际一致)。
五、验证memcached服务与扩展协同运行
仅安装PHP扩展不足以启用缓存功能,还需确保memcached守护进程正在运行,并能被PHP客户端连接。
1、执行 brew services start memcached 启动memcached服务(如未安装,先运行 brew install memcached)。
2、执行 ps aux | grep memcached 确认进程存在,端口默认为11211。
3、创建测试文件test_memcached.php,内容为:addServer('127.0.0.1', 11211); var_dump($m->getVersion()); ?>。
4、在终端执行 php test_memcached.php,若输出包含版本数组则表示扩展与服务通信正常。











