gpt4 book ai didi

php - MongoDB PHP 认证

转载 作者:行者123 更新时间:2023-12-05 09:24:37 25 4
gpt4 key购买 nike

我是 MongoDB 的新手。我 2 个月前开始使用它。我决定测试一个网站的日志(用户行为)。起初没有用户名和密码。它就像一个魅力。我使用 RockMongo 作为管理员。然后我创建了用户名和密码并重新启动了服务器。重新启动后,我的脚本无法将数据放入数据库。但是,当我更新 RockMongo 的设置时,它出现了问题,我可以通过 RockMongo 插入/更新。我在带有 PHP5 的 Ubuntu 10 上使用 MongoDB。我的代码看起来像 这个:

    $m = new Mongo();
$db = $m->testlogs;
$db->authenticate('username', 'password');

我也不能使用 shell。尝试进行身份验证时,我得到了 以下错误:

“$err”:“未经授权的 db:teSTLogs 锁类型:-1 客户端:127.0.0.1”, “代码”:10057

感谢任何帮助。

最佳答案

您需要先连接到特定的数据库。仅仅访问 $m->teSTLogs 并不能做到这一点。相反,您需要在第一行使用:

$m = new Mongo('mongodb://localhost/testlogs');

您还可以选择:

$m = new Mongo('mongodb://username:password@localhost/testlogs');

这允许您放弃 ->authenticate() 调用。 http://php.net/manual/en/mongodb.authenticate.php 处的文档还说:

In general, you should use the authenticate built into Mongo::__construct() in preference to this method. If you authenticate on connection and the connection drops and reconnects during your session, you'll be reauthenticated. If you manually authenticated using this method and the connection drops, you'll have to call this method again once you're reconnected.

关于php - MongoDB PHP 认证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10267634/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com