Ошибка Lithium Mongodb при удаленном подключении

У меня следующая проблема с литием. Когда я подключаюсь к mongodb на своем локальном хосте, все работает хорошо, но когда я подключаюсь к своему удаленному mongodb на EC2, это дает мне следующую ошибку:

Неустранимая ошибка: необработанное исключение «MongoCursorException» с сообщением «Выполняется операция» в /Library/WebServer/Documents/v0.4/libraries/lithium/data/source/MongoDb.php:430

Обе версии mongodb одинаковы (1.8.0), и я могу подключиться к своему удаленному mongodb с помощью оболочки. Я использую литий 0.9.9, драйвер mongo php 1.1.4 и версию php 5.3.4 на Mac OSX Snow Leopard.

Какие-либо предложения?

Обновление: я пробовал с последней основной версией, но все еще имею ошибку. Вы можете просмотреть мою полную трассировку стека здесь: http://pastium.org/view/90c1dd7201eca845913c4101a205a023


person Beatlevic    schedule 08.04.2011    source источник
comment
Оказалось, что тайм-аут по умолчанию был установлен на 100, и из-за моей высокой задержки в сети соединение не удалось.   -  person Beatlevic    schedule 09.04.2011
comment
Это выглядело примерно так, не стесняйтесь задавать вопросы на канале IRC: irc://irc.freenode.net/#li3   -  person greut    schedule 10.04.2011


Ответы (1)


Эта ошибка часто связана с тайм-аутом соединения с базой данных.

Это, скорее всего, произойдет, когда веб-сервер и сервер MongoDB находятся на разных хостах, в сетях или у провайдеров (например, EC2 в вашем случае) из-за задержки в сети...

Тайм-аут по умолчанию, установленный в Lithium, равен 100 ms, что может быть слишком медленным для некоторых сетевых конфигураций (однако в целом все должно быть в порядке).

Это задокументировано здесь: Адаптер Lithium MongoDB

Настройка времени ожидания адаптера Lithium MongoDB

Вы можете увидеть конфигурацию подключения MongoDB по умолчанию в Lithium здесь: (строка 153 в настоящее время) ...

https://github.com/UnionOfRAD/lithium/blob/master/data/source/MongoDb.php

Судя по комментариям на этой странице

'timeout' целое число: количество миллисекунд ожидания попытки подключения, прежде чем истечет время ожидания и будет выдано исключение.

По умолчанию 100

person Justin Jenkins    schedule 22.05.2012