php链接mongodb失败的解决办法:首先建立一个root role的账号;然后建立一个userAdmin;接着建立数据库连接账号;最后使用MongoClient连接即可。
本文操作环境:Windows7系统、PHP7.1版,DELL G3电脑
php链接mongodb失败怎么办?
php无法连接mongodb 3.0问题解决
几个常用的role
- root mongodb最高权限
- userAdmin 自己建立的数据库账号管理权限
- read 只读权限
- readWrite 可读可写
遭遇的梗
为数据库建立了账号,php死活连不上,使用mongo能连接上,php就是连不上
正确的姿势
为了安全,我们常常给web应用赋予数据库最低的权限,保证数据库安全。能只用到读的绝对不加上写
首先建立一个root role的账号
配置mongodb no auth启动之后
use admin db.createUser({ user:'root', pwd:'root', roles:[ {role:'root',db:'admin'} ]})
为我们新建的数据库(test)建立一个userAdmin
use test db.createUser({ user:'001say', pwd:'001say', roles:[ {role:'userAdmin',db:'test'} ]})
建立数据库连接账号
use test db.auth('001say','001say') db.createUser({ user:'say001', pwd:'say001', roles:[ {role:'read',db:'test'} ]})
这样你就获得了一个只读权限的say001账号
使用MongoClient连接的时候,可能需要以下格式
$mongo = new MongoClient("mongodb://name:password@192.168.199.140:27017/test");
需要直接在连接中指定数据库,否则MongoClient会默认去连接admin数据库。你的权限不够,当然会导致连接失败
后续
第二步是不可缺少的,如果你直接用root权限新建的账号,是不可以连接到test这个数据库的。
mongodb提供了很细腻的权限管理,最小权限到对集合的操作。
如果还是连不上,可能需要一个最新的驱动。pecl
如果有遇到类似问题的,希望能帮到你~~
文章纯手打,如有错误,请联系我修改~~谢谢
推荐学习:《PHP视频教程》
以上是php链接mongodb失败怎么办的详细内容。更多信息请关注PHP中文网其他相关文章!

本文比较了酸和基本数据库模型,详细介绍了它们的特征和适当的用例。酸优先确定数据完整性和一致性,适合财务和电子商务应用程序,而基础则侧重于可用性和

本文讨论了确保PHP文件上传的确保,以防止诸如代码注入之类的漏洞。它专注于文件类型验证,安全存储和错误处理以增强应用程序安全性。

本文讨论了在PHP中实施API速率限制的策略,包括诸如令牌桶和漏水桶等算法,以及使用Symfony/Rate-limimiter之类的库。它还涵盖监视,动态调整速率限制和手

本文讨论了使用password_hash和pyspasswify在PHP中使用密码的好处。主要论点是,这些功能通过自动盐,强大的哈希算法和SECH来增强密码保护

本文讨论了OWASP在PHP和缓解策略中的十大漏洞。关键问题包括注射,验证损坏和XSS,并提供用于监视和保护PHP应用程序的推荐工具。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

Atom编辑器mac版下载
最流行的的开源编辑器

ZendStudio 13.5.1 Mac
功能强大的PHP集成开发环境

SublimeText3汉化版
中文版,非常好用

WebStorm Mac版
好用的JavaScript开发工具

VSCode Windows 64位 下载
微软推出的免费、功能强大的一款IDE编辑器