Php 类别';MongoDB\Client';找不到,已安装mongodb扩展

Php 类别';MongoDB\Client';找不到,已安装mongodb扩展,php,mongodb,database-connection,Php,Mongodb,Database Connection,我尝试创建新的mongo连接,执行以下代码 $m=newmongodb\Client() 我得到了这个错误: 致命错误:找不到类“MongoDB\Client” 我想我已经正确安装了MongoDB扩展 (将php_mongodb.dll复制到ext文件夹,并更新了php.ini,扩展名为php_mongodb.dll) 以下代码确认它已加载: echo extension_loaded("mongodb") ? "loaded\n" : "not loaded\n"; 我仍然收到同样的错误 这

我尝试创建新的mongo连接,执行以下代码

$m=newmongodb\Client()

我得到了这个错误:

致命错误:找不到类“MongoDB\Client”

我想我已经正确安装了MongoDB扩展 (将php_mongodb.dll复制到ext文件夹,并更新了php.ini,扩展名为php_mongodb.dll)

以下代码确认它已加载:

echo extension_loaded("mongodb") ? "loaded\n" : "not loaded\n";
我仍然收到同样的错误

这是


我感谢你的帮助。谢谢大家!

我也遇到过同样的情况,请检查服务器上安装的php版本。
您必须使用php版本5.6。检查apche错误日志以获得更精确的错误详细信息。

如果您使用的是最新的php MongoDB扩展,则是该扩展的主要入口点

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

// Query Class
$query = new MongoDB\Driver\Query(array('age' => 30));

// Output of the executeQuery will be object of MongoDB\Driver\Cursor class
$cursor = $manager->executeQuery('testDb.testColl', $query);

// Convert cursor to Array and print result
print_r($cursor->toArray());
下面是使用最新扩展检索数据的示例代码

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

// Query Class
$query = new MongoDB\Driver\Query(array('age' => 30));

// Output of the executeQuery will be object of MongoDB\Driver\Cursor class
$cursor = $manager->executeQuery('testDb.testColl', $query);

// Convert cursor to Array and print result
print_r($cursor->toArray());
假设您在
testDb
中有
testColl
集合。您可以使用扩展的类检索数据

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

// Query Class
$query = new MongoDB\Driver\Query(array('age' => 30));

// Output of the executeQuery will be object of MongoDB\Driver\Cursor class
$cursor = $manager->executeQuery('testDb.testColl', $query);

// Convert cursor to Array and print result
print_r($cursor->toArray());
输出:

Array
(
    [0] => stdClass Object
        (
            [_id] => MongoDB\BSON\ObjectID Object
                (
                    [oid] => 5848f1394cea9483b430d5d2
                )

            [name] => XXXX
            [age] => 30
        )

)

我使用的是PHP7.1.9,我遇到了这个问题。通过删除并重新安装
mongodb/mongodb

composer remove mongodb/mongodb
composer require mongodb/mongodb
此外,如果您使用的是Dreamweaver,请不要将
供应商
文件夹放入服务器副本中

安装后,我现在可以使用
MongoDB\Client


mongodb API 1.3版,mongodb扩展1.4

只是一种简单的安装方式

sudo apt-get install php-mongodb

安装mongo后,90%的时间是您的Mongodb扩展配置。请检查php.ini,它与Apache和Nginx不同。

虽然这个帖子很旧,但我可以帮助这个人。我最近遇到了同样的问题。对我来说,它是不同的php.ini

我一直将mongoextension放在/cli/php.ini中


虽然当我运行
时,我发现在我的例子中,加载的配置位于/fpm/php.ini中。这是因为我正在用fpm卸载Nginx。

\MongoDB\Driver\Manager()
现在是“低级”扩展(php\u mongodb),
\mongodb\Client
被重写为“php类”,您需要额外安装才能使用旧式nice
新的\mongodb\Client('mongodb://127.0.0.1');

您是否包括自动加载器?您是否可以更详细地说明,我是新的看到旧的MongoDB ext实际上已被弃用,因此很可能您得到了新的MongoDB ext所以如何卸载旧版本,或者只安装新版本并自动替换是的,我也使用版本5.6。互联网上所有类似的问题让我更加困惑:(你是如何安装的?你的php版本可能正在改变。请检查此项。谢谢你的帮助。我设法切换回旧版本,即mongo扩展而不是MongoDB扩展。现在感觉舒服多了。谢谢!这个新的MongoDB扩展让我很困惑,所以我切换回旧的mongo扩展。:DSo ba官方文件中没有记录这一点。使用composer(如记录的)是一种方法,而不是唯一的方法:)