0

由于我使用 MongoDB 作为应用程序的数据库,因此我已经安装了 MongoDB 并jessenger/laravel-mongodb通过 composer 安装到应用程序中。

设置后,我收到错误

FatalErrorException in Client.php line 81:
Class 'MongoDB\Driver\Manager' not found

但我确信它已经安装了所有要求。

Mongo 已经安装好了。
$ mongo --version
MongoDB shell version v3.4.0
PHP Mongo 驱动程序也已安装
$ brew install php55-mongodb
Warning: homebrew/php/php55-mongodb-1.2.5 already installed

查看加载了什么 ini 文件,出现ext-mongo/usr/local/etc/php/5.5/conf.d/文件夹中。

$ php --ini
Configuration File (php.ini) Path: /usr/local/etc/php/5.5
Loaded Configuration File:         /usr/local/etc/php/5.5/php.ini
Scan for additional .ini files in: /usr/local/etc/php/5.5/conf.d
Additional .ini files parsed:      /usr/local/etc/php/5.5/conf.d/ext-mcrypt.ini,
/usr/local/etc/php/5.5/conf.d/ext-mongo.ini,
/usr/local/etc/php/5.5/conf.d/ext-mongodb.ini

最后,phpinfo()没有找到任何关于mongo(未加载?)

问题是:

  1. 我应该添加extension=php.ini文件中吗?如果是这样,OS X 的正确扩展名是什么?(以及如何找到它们?)

    (我试图用任何extension=mongo.so, mongo.dllormongodb.so和其他可能性来做到这一点。不起作用。)

  2. phpinfo()没有显示任何 about mongo,这意味着 PHP mongo 驱动程序没有正确安装?如何处理?添加extension=到文件中?

  3. 我是不是不小心丢了东西?

我花了很多时间。任何答案都会节省我的时间。太感谢了。

4

1 回答 1

0

我最终没有解决问题。但是我删除了内置apache2然后PHP重新安装它们brew。这次我选择了apache24and php70,也转向了php70-mongodb而不是5.5的。

顺便说一句,我确定这是由于包没有正确安装或设置错误引起的问题。但我没有朝那个方向解决问题。我选择了另一个(安装其他版本)。

1.移除内置的apache

让阿帕奇停止
sudo apachectl stop
删除内置 apache
sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist 2>/dev/null

2. 通过 Homebrew 安装包

安装apache(叫apache httpd
brew install httpd24
安装 php 7
brew install php70 --with-apache
安装MongoDB的PHP驱动
brew install php70-mongodb --with-apache

3.重启apache

sudo apachectl restart
于 2017-02-25T16:13:23.030 回答