无法使用 Laravel 和 MacOS Catalina 运行 MongoDB

Unable to run MongoDB with Laravel and MacOS Catalina

我正在尝试用 MongoDB 部署 Laravel,使用这个包:

https://github.com/jenssegers/laravel-mongodb

我按照这些说明安装 MongoDB:

https://zellwk.com/blog/install-mongodb/

但是,按照这些说明似乎没有安装 mongo php 驱动程序,因为 Laravel 抛出错误:

Class 'MongoDB\Driver\Manager' not found

检查我的 php.info,mongo 驱动程序未列出。

我找到的大多数安装 mongo php 驱动程序的说明都推荐使用:

sudo pecl install mongodb

不幸的是,在 Catalina 上,pecl 似乎不再正常运行,因为 Apple 删除了 php 头文件,因此大多数 pecl 命令都会导致错误:

fatal error: 'php.h' file not found

那么我的选择到底是什么?将 mongo 驱动程序加载到 php 的正确方法是什么?我错过了一些明显的东西吗?

更新: 我按照这些说明进行操作并修复了 php.h 错误。

那时,当 运行 pecl:

时,我开始收到新错误
ERROR: failed to mkdir /usr/local/Cellar/php/7.2.5/pecl/20170718

我按照以下说明解决了这个问题:

https://javorszky.co.uk/2018/05/03/getting-xdebug-working-on-php-7-2-and-homebrew/

虽然说明是针对安装 xdebug 的,但 mongodb 的问题是相同的。在 pecl 尝试创建新目录的目录中有一个未使用的符号链接。删除符号链接,然后 pecl 可以创建它需要的目录。

然后我在 php.ini 中更新了 mongodb.so 的路径,创建了 ext-mongodb.ini 文件,并重新启动了 apache。 MongoDB 现在出现在我的 php.info 中。我觉得我可能因为做错了什么而使这个安装过程变得不必要地复杂化,但也许其他人会发现我的经验有帮助。