Geo*_*lov 0 php authentication mongodb
我是MongoDB的新手.我2个月前开始使用它.我决定测试一个网站的日志(用户行为).首先没有用户名和密码.它就像一个魅力.我使用RockMongo进行管理.然后我创建了用户名和密码并重新启动了服务器.重启后,我的脚本无法将数据放在数据库上.但是,当我更新RockMongo的设置时,它会被推卸,我可以通过RockMongo插入/更新.我在使用PHP5的Ubuntu 10上使用MongoDB.我的代码看起来像这样:
$m = new Mongo();
$db = $m->testlogs;
$db->authenticate('username', 'password');
Run Code Online (Sandbox Code Playgroud)
我也不能使用shell.尝试进行身份验证时,我收到以下错误:
"$ err":"未经授权的db:testlogs锁类型:-1客户端:127.0.0.1","代码":10057
任何帮助表示赞赏.
您需要先连接到特定的数据库.只是访问$ m-> testlogs不会那样做.相反,您需要使用第一行:
$m = new Mongo('mongodb://localhost/testlogs');
Run Code Online (Sandbox Code Playgroud)
您可以选择:
$m = new Mongo('mongodb://username:password@localhost/testlogs');
Run Code Online (Sandbox Code Playgroud)
这允许您删除 - > authenticate()调用.http://php.net/manual/en/mongodb.authenticate.php上的文档 也说:
通常,您应该优先使用Mongo :: __ construct()中内置的authenticate,而不是此方法.如果您在连接上进行身份验证,并且连接在会话期间丢失并重新连接,则您将重新进行身份验证.如果使用此方法手动进行身份验证并且连接断开,则必须在重新连接后再次调用此方法.
| 归档时间: |
|
| 查看次数: |
7845 次 |
| 最近记录: |