注意:未定义的属性:wamp服务器的[Path]中的MongoDB \ Driver \ Manager :: $ mydb

时间:2016-09-16 11:38:37

标签: php mongodb wamp wampserver

我想从mongo php运行MongoDB 64 bit我正在使用WampServer 64 bitApache Version: 2.4.18PHP Version: 5.6.19mongodb.dll。我还在php.ini的{​​{1}}以及PHP的{​​{1}}中添加了php.ini个扩展名。我还安装了apache并运行命令

Composer

在运行下面的代码时出现此错误:

enter image description here

连接到mongo是否成功,并且还选择了db,那么为什么会出现此错误?     

composer require "mongodb/mongodb=^1.0.0"

我也试过了 require 'vendor/autoload.php'; // connect to mongo $m = new MongoDB\Driver\Manager(); echo "Connection to database successfully"; // select a db $db = $m->mydb; echo "Database mydb selected"; ?> ,但得到了同样的错误。提前感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

通过添加

解决了问题
$m = new MongoDB\Client("mongodb://localhost:27017");

而不是

$m = new MongoDB\Driver\Manager();

实际上,我打电话给错误的班级。 :)

答案 1 :(得分:0)

尝试

new MongoClient()

如果仍然出现错误,那么看起来它无法加载Mongo模块。

首先你必须下载稳定的dll zip文件。 PHP-MONGO

下载该模块的Threaded版本。复制dll文件并将其粘贴到C:\ wamp64 \ bin \ php \ php5.6.19 \ ext(如果是wamp)。然后转到php.ini文件并粘贴以下脚本:extension=php_mongo.dll在扩展行中。

注意:扩展名前不应有“; ”。 然后重启WAMP。在wamp-php-extension菜单中,您可以找到 php_mongo 勾选标记它。重启Wamp。

启动mongo并尝试执行以下脚本。

<?php
    if($connection = new mongoClient()){
        echo "Connected Successfully";
     } 
?>`

注意:首先启动Mongo服务器。

了解更多信息:PHP/Mongo Manual

如果启动Mongo时遇到问题,请在Mongo / bin 目录中按如下方式编写命令

mongod --storageEngine=mmapv1 --dbpath [your-path]

your-path =要保存数据库文件的路径。 (例如:F:\ data \ db)

Mongo服务器现在正在运行。 请勿关闭cmd