致命错误:找不到类'MongoDB \ Driver \ Manager'

时间:2016-08-04 11:51:20

标签: php mongodb

我想使用MongoDB驱动程序,但是当我使用它时它会给我一个错误:

$mongo = new MongoDB\Driver\Manager("mongodb://localhost:27017");

错误:

  

消息:未找到类'MongoDB \ Driver \ Manager'

当我用php_info()检查时,我看到有enter image description here

是否有要求使用驱动程序?

7 个答案:

答案 0 :(得分:14)

Mongo扩展和MongoDB扩展之间存在一些混淆,这些混淆是不一样的。由于您的版本号,我猜您使用的是已弃用的旧Mongo扩展程序。

确保安装新的MongoDB extension并且您应该没问题。不要忘记从php.ini中删除旧的extension=mongo.so,因为这可能会导致问题。

答案 1 :(得分:7)

对我来说,我忘记将extension=mongodb.so添加到FPM(FastCGI流程管理器)的php.ini。在Ubuntu 16.04上,这是在:

/etc/php/7.0/fpm/php.ini

值得我使用的是nginx。

答案 2 :(得分:2)

如何在macOS Mojave上安装

开始于:

sudo pecl install mongodb

要检查是否已安装mongodb软件包,请在运行时查找“ mongodb”:

pecl list

要获取已安装的mongodb.so路径,请运行:

pecl list-files mongodb | grep mongodb.so

然后删除(或注释掉)您的php.ini文件:

extension="mongodb.so"

(我找不到带有extension =“ php_mongodb.so”的行)

现在插入以下行:

extension="{{the path to your installed mongodb.so}}"

运行此命令以获取您的ext-*.ini目录路径:

php -i | grep Scan

使用以下命令创建您的ext-mongodb.ini:

touch {{your conf.d path}}/ext-mongodb.ini

喜欢:

touch /usr/local/etc/php/7.1/conf.d/ext-mongodb.ini

重新启动您的Apache以读取新配置

健全性检查:

php -i | grep mongodb

您准备好了。

答案 3 :(得分:1)

1。添加mongo数据库

$sudo apt update && sudo apt install php-mongodb
  1. 重新启动apache服务器,

  2. 在phpinfo()中检查mongo

答案 4 :(得分:1)

如果收到此错误,即使在安装了适用于php的Mongodb驱动程序之后,也只需使用composer安装mongodb。

composer require mongodb/mongodb

之后,这将解决您的问题。

答案 5 :(得分:0)

可能是您的php的CLI版本不同,请使用php -v在终端中检查php版本。 然后相应地切换... 对于EX-:

从PHP 7.1 => PHP 5.6

$ sudo update-alternatives --set php /usr/bin/php5.6.

我希望它能对你们有所帮助。

答案 6 :(得分:0)

此错误是由于etc文件夹中缺少$(document).ready(function() { $("#react").submit(function(e) { $('#like').html('Processing..'); e.preventDefault(); var name = 'name'; $.ajax({ type: "POST", url: '', data: $("#react").serialize(), success: function(data) { $("#liked").show(); $("#liked").html(name + " has been added to your favorites"); $("#liked").fadeOut(1000); $('#like').html("<i class='fa fa-heart'></i>"); }, error: function() { $("#liked").show(); //$("#liked").attr('class', 'alert alert-danger').html(name+" could not be added to your favorites"); $("#liked").fadeOut(1000); } }); }); });文件并将其添加到<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <form id="react" method="post" action="javascript:void(0)" style="width: 40px; border: 0px solid black; color: white; float: left;"> <input type="hidden" name="aid" value="1" id="aid" style="width: 100%;" /> <input type="hidden" name="session" value="1" id="session" style="width: 100%;" /> <button type="submit" class="text-default btn btn-primary pull-left" id="like"><i class="fa fa-thumbs-up"></i></button> </form>文件(如php_mongodb.dll)中。因此,我得到了这个错误。它将纠正我的错误