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

M1 Mac通过pecl安装MongoDB PHP扩展陷入无限循环求助

解决M1 Mac上pecl安装mongodb-1.17.1扩展make阶段无限循环问题

针对M1 Mac(Monterey 12.5)环境下,用Homebrew安装的PHP 8.3.0通过pecl安装mongodb-1.17.1时make进程陷入无限循环的问题,可尝试以下针对性方案:

方案1:指定ARM64架构编译

M1芯片的架构兼容冲突是此类问题的常见诱因,强制以arm64架构执行编译:

ARCHFLAGS="-arch arm64" pecl install mongodb-1.17.1

若无效,可先设置环境变量再执行安装:

export ARCHFLAGS="-arch arm64"
pecl install mongodb-1.17.1

方案2:手动编译并限制线程数

跳过pecl的自动流程,手动控制编译环节,同时限制并行线程数避免死循环:

  1. 下载并解压mongodb-1.17.1源码:
wget https://pecl.php.net/get/mongodb-1.17.1.tgz
tar zxvf mongodb-1.17.1.tgz
cd mongodb-1.17.1
  1. 用Homebrew的phpize初始化编译环境:
/opt/homebrew/bin/phpize
  1. 配置编译参数,指定MongoDB的Homebrew安装路径(默认路径为/opt/homebrew/opt/mongodb):
./configure --with-php-config=/opt/homebrew/bin/php-config --with-mongodb=/opt/homebrew/opt/mongodb
  1. 以2线程执行make(避免多线程触发死循环):
make -j2
  1. 完成安装:
make install

方案3:调整PHP或扩展版本

PHP 8.3属于较新版本,与mongodb-1.17.1可能存在兼容性适配问题:

  • 降级PHP到8.2版本(Homebrew安装):
brew install php@8.2
brew link php@8.2 --force

之后重新执行pecl安装,或尝试安装mongodb扩展的最新稳定版:

pecl install mongodb

方案4:更新编译依赖

确保编译所需工具和依赖为最新状态:

  1. 更新Xcode命令行工具:
xcode-select --install
  1. 更新Homebrew及依赖库:
brew update
brew upgrade
  1. 安装编译必备依赖:
brew install pkg-config openssl

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 05:42:02