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

MacOS下PHP项目迁移后无法安装使用Memcache的问题求助

解决MacOS下PHP 5.6/7.0安装Memcache扩展的问题

我之前在Mac上折腾过旧版PHP装Memcache的问题,刚好踩过这些坑,给你几个可行的解决方案——毕竟Memcache(注意不是Memcached)针对PHP 5.6/7.0这类旧版本,官方源确实有点难搞:

方案一:手动编译扩展(最可靠的方式)

因为pecl和brew对旧版本PHP的支持已经弱化,手动编译是最稳妥的:

  • 先确保安装了编译依赖:xcode-select --install,如果已经装过会提示已安装。
  • 下载对应PHP版本的Memcache源码:
    • PHP 5.6 对应 Memcache 3.0.8(支持该版本的最后一个稳定版)
    • PHP 7.0 对应 Memcache 3.0.9
  • 解压源码包,进入解压后的目录:
    • 生成编译配置:如果是系统或brew装的PHP,直接运行 phpize;如果是XAMPP的PHP,要指定路径,比如 /Applications/XAMPP/bin/phpize
    • 配置编译参数:./configure --with-php-config=/path/to/your/php-config,这里的php-config要对应你的PHP版本,比如brew装的PHP5.6是 php56 php-config,XAMPP的是 /Applications/XAMPP/bin/php-config
    • 编译安装:make && sudo make install
  • 找到你的php.ini文件(可以通过 php --ini 查看路径),添加一行 extension=memcache.so
  • 重启Apache:sudo apachectl restart(如果是XAMPP,直接在控制面板重启Apache)

方案二:借助第三方brew源安装

有些第三方brew源还维护着旧版PHP的扩展,你可以试试:

  • 先添加第三方tap:brew tap exolnet/homebrew-deprecated
  • 对应版本安装:
    • PHP5.6:brew install php56-memcache
    • PHP7.0:brew install php70-memcache
  • 安装完成后,brew会自动帮你把extension配置加到php.ini里,只要重启Apache就行。如果没自动加,手动添上 extension=memcache.so 再重启。

方案三:针对XAMPP的特殊处理

如果你用的是XAMPP,要注意它的PHP环境是独立的,别和系统PHP搞混:

  • 要么按照方案一的手动编译方式,用XAMPP自带的phpize和php-config来编译扩展,把生成的memcache.so放到XAMPP的扩展目录(一般是 /Applications/XAMPP/xamppfiles/lib/php/extensions/no-debug-non-zts-xxxxxx/,xxxxxx是对应PHP版本的标识)
  • 或者找别人预编译好的对应版本的memcache.so文件,放到上述目录,然后修改XAMPP目录下的php.ini(路径是 /Applications/XAMPP/xamppfiles/etc/php.ini),添加extension=memcache.so,最后重启XAMPP的Apache。

几个要注意的坑

  • 一定要区分Memcache和Memcached,你要的是前者,别下载错扩展包。
  • 编译时必须用对应PHP版本的phpize和php-config,不然编译出来的扩展会不兼容,导致加载失败。
  • 如果你同时装了多个PHP版本,运行命令时要指定版本,比如用php56 -v确认当前用的是不是目标版本,避免改错php.ini。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 08:25:47