Ошибка монго на Amazon EC2 - PullRequest
       3

Ошибка монго на Amazon EC2

0 голосов
/ 30 августа 2011

Я новичок в Amazon EC2.Я пытался вставить в Mongo экземпляр Amazon EC2 из другого экземпляра EC2, на котором размещен веб-сервер.

Мой код:

<?php
  $m = new Mongo("mongodb://test:test@<ec2 internal ip of MongoDB instance:27017>/mydb");
  $db = $m->mydb;
  $ac = $db->test_collection;
  try {
    // In the following line, instead of "save()", if I try to
    // access the collection using cursor and then iterate through,
    // it fetches the data without any problem.
    $ret = $ac->save(array("name"=>"Mouli")); // fails here
    echo "All set.";
  }
  catch(MongoCursorException $e) {
    echo "M Error:"; echo $e->getMessage();
  }
  catch(Exception $e) {
    echo "Error:";echo $e->getMessage();
  }

Несколько баллов:

  1. Приведенный выше код прекрасно работает, если я пытаюсь запустить с моего компьютера разработчика, используя общедоступный ip, который Amazon выдал нам для подключения к экземпляру MongoDB.
  2. Кроме того, попробовал тот же код с экземпляра EC2 веб-серверас публичным и внутренним IP;чтение работает в обоих случаях, но сохранить не удается.

Порт 27017 обновлен в группах безопасности.

Не уверен, что для записи в какую-либо конкретную настройку необходимо позаботитьсяБД из другого экземпляра EC2, так как чтение отлично работает для этого сценария.

Ваша помощь очень ценится.

1 Ответ

1 голос
/ 31 августа 2011

Решено!К сожалению, это связано с ошибкой, внесенной в PHP-клиент mongo 1.2.3.После обновления до 1.2.4 он работал без проблем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...