Maison >développement back-end >Problème PHP >Que faire si PHP ne parvient pas à se connecter à MongoDB
La solution à l'échec de PHP pour se connecter à mongodb : créez d'abord un compte de rôle root ; puis créez un userAdmin puis créez un compte de connexion à la base de données et enfin utilisez MongoClient pour vous connecter.
L'environnement d'exploitation de cet article : système Windows 7, PHP version 7.1, ordinateur DELL G3
Que dois-je faire si le lien php MongoDB échoue ?
Solution au problème selon lequel php ne peut pas se connecter à mongodb 3.0
J'ai créé un compte pour la base de données, mais PHP ne peut pas se connecter. Je peux me connecter en utilisant Mongo, mais PHP ne peut pas se connecter
Pour des raisons de sécurité, nous accordons souvent aux applications Web les autorisations les plus basses sur la base de données afin de garantir la sécurité de la base de données. Il ne peut être utilisé que pour lire sans écrire
Créez d'abord un compte de rôle root
Après avoir configuré mongodb no auth pour démarreruse admin db.createUser({ user:'root', pwd:'root', roles:[ {role:'root',db:'admin'} ]})
Créez un userAdmin pour notre nouvelle base de données (test)
use test db.createUser({ user:'001say', pwd:'001say', roles:[ {role:'userAdmin',db:'test'} ]})
Créez un compte de connexion à la base de données
use test db.auth('001say','001say') db.createUser({ user:'say001', pwd:'say001', roles:[ {role:'read',db:'test'} ]})De cette façon, vous obtiendrez une autorisation de lecture Le compte say001 peut nécessiter le format suivant lors de la connexion à l'aide de MongoClient
$mongo = new MongoClient("mongodb://name:password@192.168.199.140:27017/test");Vous devez spécifier la base de données directement dans la connexion, sinon MongoClient se connectera à la base de données admin par défaut. Vos autorisations sont insuffisantes, ce qui entraînera bien entendu un échec de connexion
La deuxième étape est indispensable, si vous l'utilisez directement. Les comptes créés avec les privilèges root ne peuvent pas se connecter à la base de données de test . Mongodb propose une gestion des autorisations très détaillée, avec des autorisations minimales pour les opérations sur les collections.
Si vous ne parvenez toujours pas à vous connecter, vous aurez peut-être besoin du dernier pilote. pecl
L'article est purement écrit à la main. S'il y a des erreurs, veuillez me contacter pour le modifier~~Merci
Étude recommandée : "
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!