MacOS M1 Pro下XAMPP PHP7.4.1安装MongoDB扩展失败求助
解决MacOS M1 Pro环境下XAMPP PHP7.4安装MongoDB扩展失败问题
问题详情
- 系统环境:MacOS 13.4.1(Apple M1 Pro芯片),已安装XAMPP,PHP版本7.4.1
- 操作:执行
sudo pecl install mongodb安装MongoDB扩展时失败 - 报错信息:
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
已尝试的无效操作
- 试过Stack Overflow上「install mongodb extension for xampp on macos」相关方案,未解决问题
- 当前路径配置:
which php返回/Applications/XAMPP/bin/phpwhich pecl返回/Applications/XAMPP/bin/peclwhich icuinfo返回/opt/homebrew/opt/icu4c/bin/icuinfo
- bash profile已添加PATH配置:
export PATH="/opt/homebrew/opt/icu4c/bin:$PATH" export PATH="/opt/homebrew/opt/icu4c/sbin:$PATH"
解决方案
报错原因是编译过程无法找到ICU4C的头文件,仅添加PATH环境变量不足以让编译工具识别ICU4C的包含目录和库目录,需额外指定编译相关环境变量:
- 执行以下命令设置编译环境变量:
export CFLAGS="-I/opt/homebrew/opt/icu4c/include" export LDFLAGS="-L/opt/homebrew/opt/icu4c/lib" export CPPFLAGS="-I/opt/homebrew/opt/icu4c/include"
- 重新执行MongoDB扩展安装命令:
sudo pecl install mongodb
- 安装完成后,打开XAMPP的
php.ini文件(路径一般为/Applications/XAMPP/etc/php.ini),添加一行extension=mongodb.so,保存后重启XAMPP的Apache服务即可生效。
备选方案(指定适配PHP7.4的扩展版本)
如果上述操作仍失败,可尝试安装适配PHP7.4的MongoDB扩展特定版本:
sudo pecl install mongodb-1.15.0
内容的提问来源于stack exchange,提问作者Jitender Thakur
相关产品推荐
相关产品推荐

