Php 类别';MongoDB\Client';找不到,已安装mongodb扩展
我尝试创建新的mongo连接,执行以下代码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"; 我仍然收到同样的错误 这
$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(如记录的)是一种方法,而不是唯一的方法:)