如何在Mac OS High Sierra上为PHP7.1安装php-memcached扩展
解决PHP7.1下Memcached扩展安装失败的问题
我之前也碰到过一模一样的情况——Homebrew官方早就停止维护PHP7.x这类旧版本的扩展包了,所以直接跑brew install php71-memcached肯定会失败。给你两个靠谱的解决办法,亲测有效:
方法一:通过PECL安装(最推荐)
PECL是PHP官方的扩展仓库,对于旧版本PHP的扩展支持反而更稳定:
- 先确认当前环境用的是PHP7.1:执行
php -v,如果显示的不是7.1版本,先切换到brew安装的PHP7.1:brew unlink php@8.x # 替换成你当前在用的PHP版本,比如php@8.0 brew link php@7.1 --force - 确保
pecl可用(brew安装的PHP默认自带),直接执行安装命令:
安装过程中会弹出几个配置选项(比如是否启用SASL、JSON支持),直接按回车选默认就行。pecl install memcached - 把扩展添加到PHP7.1的配置文件里:
- 先找到php.ini的位置:
php --ini,找到Loaded Configuration File对应的路径 - 打开这个文件,添加一行:
extension="memcached.so"
- 先找到php.ini的位置:
- 重启PHP-FPM和你的web服务器:
brew services restart php@7.1 # 如果用的是Apache/Nginx,也要对应重启,比如brew services restart nginx - 验证是否成功:创建一个测试文件
test.php,内容如下:
执行<?php var_dump(class_exists('Memcached')); ?>php test.php,如果输出bool(true)就说明扩展安装成功了。
方法二:借助第三方Homebrew Tap
有第三方开发者维护着旧版本PHP的扩展tap,比如shivammathur/php:
- 先添加这个tap:
brew tap shivammathur/php - 然后安装适配PHP7.1的memcached扩展:
brew install shivammathur/php/php@7.1-memcached - 同样需要确保扩展在php.ini中启用(一般brew安装后会自动添加,但保险起见可以检查一下),然后重启服务验证。
一些额外注意点
- 如果安装过程中提示缺少
libmemcached依赖,先执行brew install libmemcached再重试。 - 如果之前装过其他版本的memcached扩展,先卸载干净:
pecl uninstall memcached或者brew uninstall php-memcached(如果有的话)。
内容的提问来源于stack exchange,提问作者sholkyman
相关产品推荐
相关产品推荐

