2013-04-08 72 views
0

我試圖連接到使用PHP一蒙戈副本集設置,連接到Mongo的副本從EC2

我的代碼看起來是這樣的:

$options = array(
       'replicaSet' => 'Repset', 
       'readPreference' => 'primaryPreferred', 
     ); 
     $connection = new MongoClient("mongodb://ip-10-1-2-3.ec2.internal:27017,ip-10-1-2-4.ec2.internal:27017/", $options); 

當我這樣做,我得到一個錯誤回來:

No candidate servers found 

如果我簡化了連接字符串:

$connection = new MongoClient("mongodb://ip-10-1-2-4.ec2.internal:27017/"); 

然後連接到服務器,但是這是不正確的做法,因爲我使用的副本集

我在做什麼錯了,連接腳本似乎是正確的,但顯然不是。

希望有任何幫助。

+2

你是否確實設置了名爲「RepSet」的副本並且它正在運行?只有其他的事情我可以想到的是,您使用的內部路由不適用於PHP,您必須爲您的EC2實例分配IP地址。 – Sammaye 2013-04-08 07:36:16

+0

如果我使用來自ssh的mongo命令並鍵入rs.status(),它會出現,因爲我認爲它應該。 不知道PHP不會與內部IP地址通話。我會看看這方面的事情。謝謝! – 2013-04-08 07:44:34

回答

-1

您是否嘗試刪除$ options之前的空間?