未找到类'MongoDB \ Driver \ Manager'即使安装了php-mongo也是如此

时间:2017-02-24 18:44:40

标签: php mongodb laravel php-mongodb

由于我使用MongoDB作为应用程序的数据库,因此我已将作者的MongoDB和Id安装到应用程序中。

设置完成后,我收到错误

jessenger/laravel-mongodb

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

已经安装了Mongo。
FatalErrorException in Client.php line 81:
Class 'MongoDB\Driver\Manager' not found
PHP Mongo驱动程序也已安装
$ mongo --version
MongoDB shell version v3.4.0

查看加载了ini文件的内容,$ brew install php55-mongodb Warning: homebrew/php/php55-mongodb-1.2.5 already installed 文件夹中显示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()的任何字词(未加载?)

问题是:

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

    (我试图用php.iniextension=mongo.somongo.dll以及其他可能性做到这一点。不起作用。)

  2. mongodb.so没有显示任何关于phpinfo(),这意味着PHP mongo驱动程序安装不正确?怎么处理?将mongo添加到文件中?

  3. 我是否不顾一切地失去了什么?

  4. 我花了很多时间。任何答案都可以节省我的时间。非常感谢你。

1 个答案:

答案 0 :(得分:0)

我最终没有解决问题。但我删除了内置apache2PHP,然后通过brew重新安装了它们。这次我选择apache24php70,也转向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