(PECL mongo >= 1.0.0)
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:
$ /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.