The solution to the failure of php to connect to mongodb: first create a root role account; then create a userAdmin; then create a database connection account; and finally use MongoClient to connect.
The operating environment of this article: Windows7 system, PHP7.1 version, DELL G3 computer
What should I do if the php link to mongodb fails?
php cannot connect to mongodb 3.0 problem solving
I have created an account for the database, but PHP cannot connect. I can connect using mongo, but PHP cannot connect.
For security, we often give web applications the lowest permissions on the database to ensure database security. It can only be used for reading and absolutely not writing.
First create a root role account
After configuring mongodb no auth to start
use admin db.createUser({ user:'root', pwd:'root', roles:[ {role:'root',db:'admin'} ]})
Create a userAdmin for our new database (test)
use test db.createUser({ user:'001say', pwd:'001say', roles:[ {role:'userAdmin',db:'test'} ]})
Establish a database connection account
use test db.auth('001say','001say') db.createUser({ user:'say001', pwd:'say001', roles:[ {role:'read',db:'test'} ]})
In this way, you will get a The say001 account with read permission
When using MongoClient to connect, the following format may be required
$mongo = new MongoClient("mongodb://name:password@192.168.199.140:27017/test");
You need to specify the database directly in the connection, otherwise MongoClient will connect to the admin database by default. Your permissions are insufficient, which will of course cause the connection to fail.
The second step is indispensable. If you directly use Accounts created with root privileges cannot connect to the test database.
Mongodb provides very detailed permission management, with minimum permissions for operations on collections.
If you still can't connect, you may need the latest driver. pecl
If you encounter similar problems, I hope I can help you~~
The article is purely hand-written. If there are any errors, please contact me to modify it~~Thank you
Recommended study: " PHP video tutorial》
The above is the detailed content of What to do if php fails to connect to mongodb. For more information, please follow other related articles on the PHP Chinese website!