Класс MongoConnectionException
(PECL mongo >= 1.0.0)
Введение
Выбрасывается, когда драйвер не может подключиться к базе данных.
Существует ряд возможных сообщений об ошибках, которые помогут вам диагностировать проблему подключения. Это:
-
No candidate servers found
Ошибка возникает, когда драйвер не может установить соединение с MongoDB (выполняется ReadPreferences, если указано).
-
No server name given.
Ошибка возникает, если вы передаете "" в качестве наименования сервера, возможно, из-за опечатки с интерполяцией строк, например, "$servr" вместо "$server".
-
failed to get host [hostname] or port [portnum] from [server].
Ошибка возникает, когда строка сервера была искажена. "[hostname]" и "[portnum]" будет так много, что драйвер не сможет их обработать.
-
Operation in progress
Ошибка возникает, когда время подключения к базе данных истекло.
-
Transport endpoint is not connected
Ошибка возникает, когда строка подключения неверна, драйвер не может даже найти сервер базы данных.
-
couldn't determine master
Ошибка возникает, когда ни один сервер в соединении с набором реплик не был определен как основной.
-
couldn't get host info for [server]
Ошибка возникает, когда DNS не может разрешить адрес сервера, который вы указали. Это может быть легко вызвано опечаткой, например, "server" вместо "$server".
-
Invalid Argument
Ошибка возникает, при попытке подключиться к работающей машине, если база данных на самом деле не работает. Убедитесь, что вы запустили сервер базы данных перед подключением.
-
Permission denied
Ошибка возникает, когда сокет не может быть открыт из-за проблем с разрешениями. В вариантах Red Hat это может быть вызвано настройкой по умолчанию, которая не позволяет Apache создавать сетевые подключения. Вы можете переопределить этот параметр, выполнив:
$ /usr/sbin/setsebool -P httpd_can_network_connect 1
Если сообщение об ошибке не указано выше, это, вероятно, ошибка с сокетом C, которую вы можете поискать в интернете.