【问题标题】:Mongo Insert Fails on Amazon EC2Amazon EC2 上的 Mongo 插入失败
【发布时间】:2011-08-30 09:01:50
【问题描述】:

我是 Amazon EC2 的新手。我一直在尝试从托管 Web 服务器的另一个 EC2 实例插入 Amazon EC2 实例中的 Mongo。

我的代码:

<?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. 如果我尝试使用 Amazon 为我们连接到 MongoDB 实例的公共 ip 从我的开发计算机运行,上述代码完全可以正常工作。
  2. 另外,尝试了来自具有公共和内部 IP 的 Web 服务器 EC2 实例的相同代码;读取在这两种情况下都有效,但保存失败。

安全组中的 27017 端口已更新。

不确定是否需要注意从另一个 EC2 实例写入数据库的任何其他特定设置,因为读取在该场景下工作正常。

非常感谢您的帮助。

【问题讨论】:

    标签: php mongodb


    【解决方案1】:

    解决了!不幸的是,这是由于 PHP mongo 客户端 1.2.3 中引入的一个错误。升级到 1.2.4 后,它没有任何问题。

    【讨论】:

      猜你喜欢
      • 2011-06-24
      • 2016-01-27
      • 2016-01-29
      • 1970-01-01
      • 2017-04-19
      • 1970-01-01
      • 1970-01-01
      • 2012-09-27
      • 1970-01-01
      相关资源
      最近更新 更多