【问题标题】:MongoDB Install: 'php.h' file not found #include <php.h>MongoDB 安装:找不到“php.h”文件#include <php.h>
【发布时间】:2020-07-19 11:15:25
【问题描述】:

我正在尝试使用 PHP 和 MongoDB 作为数据库在 Mac OS Catalina 上配置 Apache 服务器。我安装了 PHP 7.3.11。

我的 httpd 文件已将这一行注释掉:

LoadModule php7_module libexec/apache2/libphp7.so

当我运行 MongoDB 安装时,我在控制台顶部收到以下消息:

grep: /usr/include/php/main/php.h: No such file or directory
grep: /usr/include/php/Zend/zend_modules.h: No such file or directory
grep: /usr/include/php/Zend/zend_extensions.h: No such file or directory

跟随但最后出现以下错误:

/private/tmp/pear/install/mongodb/php_phongo.c:22:10: fatal error: 'php.h' file not found
#include <php.h>

我检查了第一条消息中列出的目录,它包含文件 php.h 但没有“zend”目录。

我已经在 Stack 和其他地方搜索了此错误消息的每个实例,但无法解决问题

【问题讨论】:

标签: php mongodb macos apache


【解决方案1】:

如果 PHP 的构建系统找不到 PHP 的标头,则会生成此错误。所有外部 PHP 扩展,例如 mongodb 扩展,或 xdebug 等其他扩展,都需要在编译时出现 PHP 的标头。

macOS 不提供 PHP 标头。

由于macOS不提供,很多人使用homebrew的brew安装PHP,依赖库,然后使用homebrew的“pecl”版本安装mongodb驱动。

因此,您需要执行以下步骤:

  1. 用自制软件安装PHP及其开发头文件详细解释here

  2. 使用“pecl install mongodb”安装 MongoDB PHP 扩展(就像你已经做过的那样),确保使用 pecl 的自制版本,而不是 macOS 的默认版本。following this

【讨论】:

    猜你喜欢
    • 2013-11-02
    • 2019-03-08
    • 2020-07-08
    • 2021-09-30
    • 1970-01-01
    • 2021-06-05
    • 2019-11-05
    • 2017-04-19
    • 1970-01-01
    相关资源
    最近更新 更多