Class 'MongoDB\Driver\Manager' 未找到 即使 php-mongo 已安装

Class 'MongoDB\Driver\Manager' not found Even if php-mongo has been installed

因为我使用 MongoDB 作为应用程序的数据库,我已经安装了 MongoDB 和 jessenger/laravel-mongodb 作曲家到应用程序。

设置后出现错误

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.somongo.dllmongodb.so 以及其他可能性来做到这一点。不起作用。)

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

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

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

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

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

1。删除内置的 apache

让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
安装 PHP MongoDB 的驱动程序
brew install php70-mongodb --with-apache

3。重启阿帕奇

sudo apachectl restart