(PECL mongo >= 1.0.0)
Émise lorsque le pilote échoue à se connecter à la base de données.
Il y a plusieurs messages d'erreur possibles afin de vous aider à analyser un problème de connexion. Les voici :
No candidate servers found
Lancé lorsque le driver ne peut établir une connexion à MongoDB (rempli les ReadPreferences, si spécifié).
No server name given.
Cette erreur survient si vous passez une chaine vide comme nom de serveur, peut à cause d'une faute dans la variable de connexion, i.e. "$servr" au lieu de "$server".
failed to get left host [hostname] or port [portnum] from [server].
Ceci indique que le premier ou le second serveur, respectivement "server1,server2" dans la chaîne de connexion, est mal formé. "[hostname]" et "[portnum]" doivent correspondre aux éxigences du driver.
Operation in progress
Délai d'attente expiré lors de la connexion à la base de données.
Transport endpoint is not connected
En général cela signifie que la chaine de connexion est incorrecte, le pilote ne trouve pas le serveur de base de données.
couldn't determine master
Aucun serveur du jeu de réplication n'a été identifié comme primaire.
couldn't get host info for [server]
Ceci indique que les DNS n'ont pas réussis à résoudre l'adresse du serveur que vous avez fourni. Vérifier la chaîne fournie.
Invalid Argument
Ceci peut être dû lorsque vous tentez d'accéder à une machine qui fonctionne mais dont la base de données n'est pas en marche. Assurez-vous que la base de données est en fonctionnement avant de tenter de vous y connecter.
Permission denied
Ceci signifie que le socket ne peut être ouvert en raison d'un problème sur les permissions. Sur les systèmes à base de Red Hat, ceci peut être dû à une configuration par défaut qui n'autorise pas Apache à créer des connexions réseaux. Vous pouvez résoudre ce problème en exécutant la commande suivante :
$ /usr/sbin/setsebool -P httpd_can_network_connect 1
Si le message d'erreur que vous recevez n'est pas listé ci-dessus, c'est probablement une erreur qui provient du socket C, et vous pouvez chercher sur le web pour trouver les causes du problème.