Mop*_*ppo 9 php authentication ubuntu mongodb ubuntu-14.04
我做了什么:
启用身份验证/etc/mongod.conf:
auth = true
如文档中所述,从shell创建了第一个用户:
db.createUser(
{
    user: "admin",
    pwd: "admin",
    roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
})
使用该admin用户,我创建了一个root用户来访问mongodb:
db.createUser(
{
    user: "root",
    pwd: "root",
    roles: [ "root" ]
})
在此之前一切正常,因为我可以通过以下方式从mongo shell进行身份验证:
mongo --port 27017 -u root -p root  admin
它完美地工作,因为我可以在数据库中进行所有操作.
问题:
当我尝试使用相同的root用户从PHP进行身份验证时:
$client = new MongoClient("mongodb://root:root@localhost:27017/admin");
它给出了错误:
无法连接到:localhost:27017:使用用户名"root"的数据库"admin"上的身份验证失败:auth失败
为什么PHP不能在mongodb上进行身份验证,如果使用相同的凭据进行身份验证可以从mongo shell中正常工作?
其他说明:
Mop*_*ppo 21
问题解决了:很明显它是由PHP mongo驱动程序版本中的问题/错误引起的 1.4
我已将驱动程序升级到版本1.6:
pecl upgrade mongo
现在认证工作.
| 归档时间: | 
 | 
| 查看次数: | 10778 次 | 
| 最近记录: |