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