包括“pcre.h”

包括“pcre.h”

我在 MacOS 上安装 PHP 的 mongodb 驱动程序时遇到了一些问题。我笔记本电脑上的 PHP 随 MacOS 一起提供,版本为:

PHP 7.1.19 (cli)(构建时间:2018 年 8 月 17 日 20:10:18)(NTS)版权所有 (c) 1997-2018 The PHP Group Zend Engine v3.1.0,版权所有 (c) 1998-2018 Zend Technologies

我已按照有关禁用 csrutil 的说明使用以下命令安装了 pear:

curl -O http://pear.php.net/go-pear.phar 
sudo php -d detect_unicode=0 go-pear.phar

然后我尝试使用以下命令安装 mongodb:

sudo pecl install mongodb

现在的问题是编译失败,出现“未找到包含文件”错误。我安装了 Xcode 开发和命令行工具,并到处寻找答案,但似乎无法解决这个错误。

安装时 pecl 找到了包含路径(如下所示),但编译时出现以下错误:

/usr/include/php/ext/pcre/php_pcre.h:29:10:致命错误:未找到“pcre.h”文件

包括“pcre.h”

     ^~~~~~~~

根据网络上的建议,我甚至使用 C_INCLUDE_PATH 包含了头文件的路径,但没有作用。

检查 PHP 是否包含... -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -I/usr/include/php/ext/date/lib 检查 PHP 扩展目录... /usr/lib/php/extensions/no-debug-non-zts-20160303 检查 PHP 是否安装有标头前缀... /usr/include/php

有人能解释一下吗?我对此束手无策 :)

答案1

我能够解决这个问题。虽然 php_pcre.h 文件位于包含路径中,但 pcre.h 却不在。

我使用以下命令运行安装程序(设置 pcre 头文件的路径)并且成功了:

sudo C_INCLUDE_PATH=/usr/local/opt/pcre pecl install mongodb

唷!

相关内容