找不到类“ MongoDB \ Driver \ Manager”(未加载扩展名)

时间:2018-08-13 22:26:22

标签: php mongodb driver

我知道还有其他与此问题类似的问题,但是它们都无法解决我遇到的确切问题。

我已经安装了mongodb php驱动程序,将该dll添加到xampp / htdocs / ext,并编辑了php.ini以包括新扩展名。但是,当我尝试运行此php时:

<?php
$connection = new MongoDB\Driver\Manager("mongodb://localhost:27017");
$db = $connection->lotus;
$users = $db->users;
$document = array(
    "username"=>"firstuser",
    "password"=>"firstpass"
);
$users->insert($document);
?>

我收到错误消息:Fatal error: Uncaught Error: Class 'MongoDB\Driver\Manager' not found in C:\xampp\htdocs\testproject\index.php:2 Stack trace: #0 {main} thrown in C:\xampp\htdocs\testproject\index.php on line 2

关于同一问题的帖子说,他们确认使用以下代码加载了扩展程序:

echo extension_loaded("mongo") ? "loaded\n" : "not loaded\n"

但是,我总是收到“未加载”作为输出。不确定我到底在做什么错。有什么想法吗?

EDIT

当前的php版本是7.2.8。当我检查php版本时,我也发现了此错误消息:PHP Warning: PHP Startup: Unable to load dynamic library 'php_mongodb.dll' (tried: \xampp\php\ext\php_mongodb.dll (%1 is not a valid Win32 application.)这似乎是问题的根源。

已找到解决方案-见下文

1 个答案:

答案 0 :(得分:0)

解决方案: :我使用的64位dll与运行php的32位xampp不兼容。只需删除64位dll并下载32位版本。