MacBook Pro M1(Ventura)XAMPP环境MongoDB PHP扩展安装失败求助
MacBook Pro M1(Ventura 13.3.1(a))XAMPP环境安装MongoDB PHP扩展报错修复
问题现象
执行sudo pecl install mongodb时触发编译错误:
/private/var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/pear/temp/mongodb/src/libmongoc/src/libmongoc/src/mongoc/mongoc-scram.c:85:10: fatal error: 'unicode/usprep.h' file not found #include <unicode/usprep.h> ^~~~~~~~~~~~~~~~~~ 1 error generated. make: *** [src/libmongoc/src/libmongoc/src/mongoc/mongoc-scram.lo] Error 1 ERROR: `make' failed
环境信息
which php输出:/Applications/XAMPP/bin//phpwhich pecl输出:/Applications/XAMPP/bin//pecl- PHP版本:
PHP 8.1.4 (cli) (built: Mar 17 2022 03:15:01) (NTS)
已尝试无效操作
- 直接指定XAMPP路径安装:
sudo /Applications/XAMPP/bin/pecl install mongodb - 使用xamppfiles目录下的pecl:
sudo /Applications/XAMPP/xamppfiles/bin/pecl install mongodb - 参考相关Stack Overflow解决方案
- 执行
brew install icu4c安装依赖
修复步骤
- 确认
icu4c已安装,未安装则执行:
brew install icu4c
- 获取
icu4c的安装前缀路径:
brew --prefix icu4c
M1芯片设备通常返回/opt/homebrew/opt/icu4c。
- 带编译参数执行pecl安装命令,让编译器找到
icu4c的头文件和库:
sudo CFLAGS="-I$(brew --prefix icu4c)/include" LDFLAGS="-L$(brew --prefix icu4c)/lib" pecl install mongodb
也可以直接替换为实际路径(比如上述的/opt/homebrew/opt/icu4c):
sudo CFLAGS="-I/opt/homebrew/opt/icu4c/include" LDFLAGS="-L/opt/homebrew/opt/icu4c/lib" pecl install mongodb
- 验证扩展加载
打开XAMPP的PHP配置文件(路径通常是/Applications/XAMPP/xamppfiles/etc/php.ini),添加或确认存在以下配置:
extension=mongodb.so
重启XAMPP的Apache服务即可生效。
内容的提问来源于stack exchange,提问作者Mayur Fartade
相关产品推荐
相关产品推荐

