Php Mongo db连接问题
我对mongo db连接有一个非常恼人的问题。 我Php Mongo db连接问题,php,mongodb,symfony,Php,Mongodb,Symfony,我对mongo db连接有一个非常恼人的问题。 我m使用symfony2和mongodbphp库(我不使用ODM)。有时,连接会无缘无故失败,并出现如下错误: "Failed to connect to: 54.246.115.206:27017: Previous connection attempts failed, server blacklisted" 无法连接MongoDB,请检查您的配置。蒙哥达 表示:未能连接到:54.246.115.206:27017:以前的连接 尝试失败,服务
m使用symfony2和mongodbphp库(我不使用ODM)。有时,连接会无缘无故失败,并出现如下错误:
"Failed to connect to: 54.246.115.206:27017: Previous connection attempts failed, server blacklisted"
无法连接MongoDB,请检查您的配置。蒙哥达
表示:未能连接到:54.246.115.206:27017:以前的连接
尝试失败,服务器被列入黑名单
我在网上读到关于这个问题的解释,解释是连接是持久的,你应该检查连接是否超时,如果没有使用它,如果是新的。我通过以下代码进行连接:
private function getMongoConnection($server, $user, $pass, $retry = 3) {
try {
return new \MongoClient($server, array("username" => $user, "password" => $pass, 'connect' => true));
} catch (Exception $e) {
/* Log the exception so we can look into why mongod failed later */
// \MongoClient::close();
logException($e);
}
if ($retry > 0) {
return $this->getMongoConnection($server, $user, $pass, --$retry);
}
throw new Exception("I've tried several times getting MongoClient.. Is mongod really running?");
}
我仍然收到上面显示的错误…美元服务器的具体价值是多少
这通常发生在连接到ReplicaSet且其中一台服务器停机时。
为了防止驱动程序在每次请求时都向服务器发送连接尝试,我们将服务器列入黑名单几秒钟,稍后再试
请注意,种子列表($server)不能在服务器列表之间包含空格。服务器之间用逗号(,)分隔