2013-01-08 64 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,当我从选项列表中删除端口它的工作原理!

尝试一下