与mongo副本集的PHP连接错误

时间:2016-08-29 18:50:00

标签: php mongodb amazon-ec2 php-mongodb mongodb-replica-set

我在EC2上有3个实例,每个实例都有弹性IP,每个都运行mongo版本3.2。所有都在类型名称的副本集中。 mongod.conf中的bind_ip设置配置为IP 0.0.0.0。

我试图通过php连接mongo。我已经安装了扩展程序mongodblibrary

所有这些都在同一个端口上,主IP:52.67.34.1

我的联系:

$this->manager = new MongoDB\Driver\Manager(
            "mongodb://52.67.34.1,52.67.77.2,52.67.30.3/?replicaSet=homologation");

但要进行查询或插入,会出现以下错误:

  

致命错误:未捕获的异常' MongoDB \ Driver \ Exception \ ConnectionTimeoutException'消息'找不到合适的服务器(serverselectiontryonce设置):[连接错误呼叫ismaster on' 52.67.34.1:27017'] [连接错误呼叫ismaster on' 52.67。 77.2:27017'] [连接错误呼叫ismaster on' 52.67.30.3:27017'] [无法连接到' 172.31.1.1:27017':连接超时] [连接失败到' 172.31.2.2:27017':连接超时] [无法连接到' 172.31.3.3:27017':连接超时]

如何修复此错误?连接到mongo?

1 个答案:

答案 0 :(得分:1)

我在使用机器IP连接到PHP中的副本集时出现问题,并使用计算机主机解决了这个问题。

如果您的DNS中没有服务器主机(公共或私有),我建议在/ etc / hosts文件中声明每个副本成员。

它对我有用,我希望它会有所帮助。