sudo pecl install mongodb 问题 |未知类型名称 'pcre_cache_entry'

sudo pecl install mongodb problem | unknown type name 'pcre_cache_entry'

我正在尝试在我的 MacOS Monterey 上为 php 8.0.13 安装 mongodb 扩展。

我尝试了sudo pecl install mongodb命令:然后出现以下错误。

/opt/homebrew/Cellar/php@8.0/8.0.13/include/php/ext/spl/spl_iterators.h:151:4: error: unknown type name 'pcre_cache_entry'
                    pcre_cache_entry *pce;
                    ^
1 error generated.
make: *** [php_phongo.lo] Error 1
ERROR: `make' failed

哪个php:/opt/homebrew/bin/php php-v:PHP 8.0.13 (cli) (built: Nov 28 2021 13:11:14) ( NTS ) Copyright (c) The PHP Group Zend Engine v4.0.13, Copyright (c) Zend Technologies with Zend OPcache v8.0.13, Copyright (c), by Zend Technologies

谁能帮我解决这个错误? 感谢您的关注!

要使用 PECL 编译 MongoDB,您必须将 pcre2.h 复制到 php 的包含目录。

对于 php@8.0,您可以这样做,但是您必须在每次 PHP 发布后或切换 PHP 版本后执行此操作。

pcre2_h="$(find "$(brew --cellar pcre2)" -name "pcre2.h")"
cp -f "$pcre2_h" "$(brew --cellar php@8.0)"/*/include/php/ext/pcre

为避免这种情况,我建议使用 shivammathur/extensions brew tap 来安装 PHP 扩展。