mongodb管理工具 rockmongo使用时出现的问题

mongodb管理工具 rockmongo使用时出现的问题

1、一般来说,使用mongodb都会设个用户名和密码,这就要求在使用的时候需要验证。所以在config.php下的这两个参数,第一个参数就需要设置为true,开启登录验证,用户名和密码根据mongodb所设的。

$MONGO["servers"][$i]["mongo_auth"] = true;


2、如果将以下两个参数都设置为false,可以根据所输帐号登录。当然,这是在初始安装mongodb,还未设置用户名和密码的情况下可用。

$MONGO["servers"][$i]["mongo_auth"] = true;//enable mongo authentication?
$MONGO["servers"][$i]["control_auth"] = true;//enable control users, works only if mongo_auth=false


3、如果设置了用户名和密码。那么,登录时就需要验证,而很多情况下,会发现,验证不通过。

报的信息如下:
MongoDB authenticate failed. Please check your username and password from your mongo administrator.

究其原因,如下:

mongodb的PHP扩展版本分为PHP vc6版和VC9版,我到官网下到的VC6版的,DLL文件最新的是1.2版本的,而VC9的 1.4.5。而大于1.3版本的DLL文件支持一个叫MongoClient的类,而这个类的前身版本是Mongo。在Mongo下有些方法的使用被受到了限制,比如

MongoDB::execute,MongoDB::authenticate,MongoDB::command

这些方法,在很多情况下执行脚本的时候,被要求做登录验证,而直接使用

$db->authenticate ($username,$password);

等往往会出现验证失败


因为这里要求,开始的时候不要设置链接,使用如下:

//$dsn="localhost:27017"; //如果加了这句在下面的new Mongo()里同样会验证不通过,这样就发现在,只能在本机使用 

$m = new Mongo();
$db = new MongoDB($m, 'memo');
$res = $db->authenticate("root", "123456");


4、rockmongo修改如下:

config.php


MDb.php


RMongo.php



MServer.php

auth方法下





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值