【问题标题】:Neither 'MongoDB\Client' or 'MongoDB\Driver\Manager("mongodb://localhost:27017")' work'MongoDB\Client' 或 'MongoDB\Driver\Manager("mongodb://localhost:27017")' 都不起作用
【发布时间】:2019-03-10 11:18:39
【问题描述】:

我正在尝试使用 MAMP 为 PHP 安装 mongoDB 扩展,这样我就可以访问我的 MongoDB 服务器,据我所知,我做的一切都是正确的,但我仍然遇到错误。

我已经安装了 MongoDB 扩展 - 我知道是因为:

$sudo pecl install mongodb
pecl/mongodb is already installed and is the same as the released version 1.5.3
install failed

我的 phpinfo 也显示了这个:

我还包括以下内容:

var_dump(extension_loaded('mongodb'));
echo phpversion('mongodb')."\n";

返回的:

/Applications/MAMP/htdocs/mongo.php:35:boolean true
1.5.3 

我也有:

$ composer require mongodb/mongodb
Using version ^1.4 for mongodb/mongodb
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Nothing to install or update
Generating autoload files

phpinfo 告诉我我的 php.ini 文件在这里:

我已经添加了:

extension=mongodb.so

在我的 PHP 文件中,我有以下内容:

require 'vendor/autoload.php'; // include Composer's autoloader
$m = new MongoDB\Driver\Manager("mongodb://localhost:27017");
//$m = new MongoDB\Client("mongodb://localhost:27017");

echo "connected successfully";

// select a database
$db = $m->bob;
echo "database selected";

如果我尝试使用 MongDB/Client 选项,我会收到以下错误:

Fatal error: Uncaught Error: Class 'MongoDB\Client' not found in /Applications/MAMP/htdocs/mongo.php on line 61

如果我尝试 MongoDB/Driver 选项,我会收到以下错误:

Notice: Undefined property: MongoDB\Driver\Manager::$bob in /Applications/MAMP/htdocs/mongo.php on line 52

MongoDB\Driver 等的 var_dump 给出以下信息:

 /Applications/MAMP/htdocs/mongo.php:38:
 object(MongoDB\Driver\Manager)[3]
 public 'uri' => string 'mongodb://localhost:27017' (length=25)
 public 'cluster' => 
    array (size=0)
    empty

有什么我可能会错过的吗?

【问题讨论】:

    标签: php mongodb mamp


    【解决方案1】:

    您是否已将extension=mongodb.so 添加到您的 php.ini 文件中?

    这是我在这里没有看到的唯一信息。

    【讨论】:

    • 是的,对不起,我也有。我将添加有关上述信息。
    • 你能不能试试 mongo.so 而不是 mongodb.so。它可能会有所帮助(不确定)
    • 这不是已弃用吗? mongodb 然后从我的 phpinfo 中消失,现在显示 Class 'MongoDB\Driver\Manager' not found。
    • 哦,是的。 (忘了看 mongodb 版本)然后我想我无法进一步帮助你。也许可以尝试一个指南或其他东西来创建一个测试项目,这样你就可以比较一个可行的和这个的。
    • 不确定是否允许,但我尝试了一些替代代码,我相信这更进一步,但有一个新问题,我在这里问过:stackoverflow.com/questions/52669717/…
    猜你喜欢
    • 1970-01-01
    • 2018-07-24
    • 1970-01-01
    • 2019-06-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-07
    相关资源
    最近更新 更多