无法使用Laravel和MacOS Catalina运行MongoDB



我正试图使用以下包将Laravel与MongoDB一起部署:

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

我按照以下说明安装MongoDB:

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

然而,遵循这些说明似乎并没有安装mongophp驱动程序,因为Laravel抛出了错误:

Class 'MongoDBDriverManager' not found

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

我找到的大多数安装mongophp驱动程序的说明都建议使用:

sudo pecl install mongodb

不幸的是,在Catalina上,由于苹果删除了php头文件,pecl似乎不再正常工作,因此大多数pecl命令都会导致一个错误:

fatal error: 'php.h' file not found

那么,我到底有什么选择呢?将mongo驱动程序加载到php中的正确方法是什么?我是不是错过了一些显而易见的东西?

更新:我遵循了这些说明,并修复了php.h错误。

https://stackoverflow.com/a/59544311/3825421

这时,我在运行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中。我觉得我可能因为做错了什么而使这个安装过程变得不必要地复杂,但也许其他人会发现我的经验很有帮助。

最新更新