Class 'MongoDB\Driver\Manager' 未找到(未加载扩展)
Class 'MongoDB\Driver\Manager' not found (extension not loaded)
我知道还有其他类似的问题,但是 none 中有解决方案可以解决我遇到的确切问题。
我已经安装了 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
关于同一问题的 post 表示他们确认使用以下代码加载了扩展:
echo extension_loaded("mongo") ? "loaded\n" : "not loaded\n"
但是,我总是收到 "not loaded" 作为输出。不确定我在这里做错了什么。有什么想法吗?
编辑
当前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.)
这似乎是问题的根源。
已找到解决方案 - 见下文
解决方案: 我使用的是 64 位 dll,它与 32 位 xampp 不兼容运行 php。只需删除 64 位 dll 并下载 32 位版本。
我知道还有其他类似的问题,但是 none 中有解决方案可以解决我遇到的确切问题。
我已经安装了 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
关于同一问题的 post 表示他们确认使用以下代码加载了扩展:
echo extension_loaded("mongo") ? "loaded\n" : "not loaded\n"
但是,我总是收到 "not loaded" 作为输出。不确定我在这里做错了什么。有什么想法吗?
编辑
当前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.)
这似乎是问题的根源。
已找到解决方案 - 见下文
解决方案: 我使用的是 64 位 dll,它与 32 位 xampp 不兼容运行 php。只需删除 64 位 dll 并下载 32 位版本。