致命错误:sudo pecl install mongodb

Fatal error while: sudo pecl install mongodb

我在使用 pecl 安装 mongodb 时遇到问题。在 sudo pecl install mongodb 之后总是给我

fatal error: 'php.h' file not found #include

1 error generated. make: *** [php_phongo.lo] Error 1 ERROR: 'make' failed

系统 MacOS Mojave,Xcode 已更新

谢谢!

问题可能是我安装的版本 PHP 比我的 mac 上安装的版本要旧安装没有问题

当我们尝试在 MacOS 的默认 PHP 安装上安装 mongodb 驱动程序时,就会发生这种情况。要解决此问题,我们应该首先将 PHP 从默认的 macOS PHP 更改为我们安装的版本。

运行 命令:which php 查看正在使用的 PHP。如果输出是 usr/bin/php 那么它就是默认的 PHP.

然后使用任何代码编辑器打开您的 bash_profile 文件,并向其中添加以下行,您必须在其中提供 PHP 安装路径。

export PATH=/Applications/MAMP/bin/php/php7.3.1/bin:$PATH

在我的例子中,它是 MAMP 的 PHP,然后 运行 source ~/.bash_profile 加载您的 bash 配置文件更改。

现在,当您执行 运行 which php 命令时,您将看到 PHP 安装路径。

现在,如果您尝试使用 pecl 命令安装任何 PHP 模块,应该 运行 没问题。

问题是安装程序找不到“php.h 文件”。将文件符号链接到所需的文件夹路径应该有效。

Mac 用户示例:ln -s /opt/homebrew/Cellar/pcre2/10.39/include/pcre2.h /opt/homebrew/Cellar/php@8.0/8.0.16_1/include/php/ext/pcre/pcre2.h

语法:ln -s <path-to-file> <path-to-be-put>

这应该有效。