2013-01-08 65 views
1

我有mongod的並用命令 - sudo mongod --journal --rest --config /etc/mongodb.conf運行,在日誌中,它說waiting for connections on port 27017無法連接到MongoDB中:關閉套接字

我嘗試連接從我的PHP腳本的mongod using- $ connection = new MongoClient($ connectionString,$ opts);

其中$connectionString = 'mongodb://127.0.0.1:27017'$opts= array('replicaSet' => false, 'connect' => true);

的$的選擇採用無關,我「經常」得到exception- 'MongoConnectionException' with message: Failed to connect to: 127.0.0.1:27017: send_package: error reading from socket: The socket is closed

我最後一次看到這樣的錯誤,我重新開始的mongod和清除了異常。但是現在它又重新出現了。有時候刷新瀏覽器會有訣竅。任何線索,爲什麼這種不可靠的行爲?

謝謝。

+0

它突然開始工作,沒有任何改變。這與套接字是忙還是不可用有關?或者是mongod的東西? 我仍然需要解釋情況,以便我可以避免將來發生故障。 – davneet

+1

最好的猜測是多個進程試圖使用端口27017.嘗試使用mongo命令行連接到數據庫以消除驅動程序作爲問題的來源。 – mjhm

+0

編輯問題coz $ opts ['persist'] => true在使用MongoClient時沒有意義(因爲所有連接都是持久的而不是普通的Mongo) – davneet

回答

0

我使用symfony2連接到MongoDB,當我從選項列表中刪除端口它的工作原理!

嘗試一下