Clase MongoConnectionException
(PECL mongo >= 1.0.0)
Introducción
Lanzado cuando falla el driver al conectar a la base de datos.
Existen varios mensajes de error posibles para ayudar a diagnosticar el problema de conexión:
-
No candidate servers found
Lanzado cuando el controlador no puede establecer una conexión con MongoDB (satisfaciendo las ReadPreferences, si se especifican).
-
No server name given.
Este error ocurre al pasar "" como nombre de servidor, probablemente por error tipográfico con interpolación de strings, p.ej., "$servr" en lugar de "$server".
-
failed to get host [hostname] or port [portnum] from [server].
Indica que el nombre del servidor está malformado. "[hostname"] y "[portnum]" serán lo que el driver haya descifrado que sean.
-
Operation in progress
Superado el tiempo de espera de conexión a la base de datos.
-
Transport endpoint is not connected
Generalmente indica que la cadena de conexión no es correcta. De hecho, el driver no puede ni encontrar el servidor de bases de datos.
-
couldn't determine master
Ningún servidor de una conexión a un conjunto de réplicas fue identificado como el primario.
-
couldn't get host info for [server]
Indica que el DNS no puede resolver la dirección de servidor proporcionada. Posiblemente se trate de un error tipográfico, por ejemplo, "server" en lugar de "$server".
-
Invalid Argument
Puede provocarse al intentar conectar a una máquina que está funcionando pero la base de datos no está funcionando. Asegúrese de que ha iniciado la base de datos antes de conectar.
-
Permission denied
Significa que el socket no pudo ser abierto debido a los permisos. En las variantes de Red hat, puede ser debido a que la configuración por defecto no permite a Apache crear conexiones de red. Puede modificarse esto ejecutando:
y reiniciando Apache.$ /usr/sbin/setsebool -P httpd_can_network_connect 1
Si el mensaje de error no se encuentra en la lista de arriba, probablemente sea un error del socket C, y podrá buscar en la web la causa del mismo.