我用pecl模块“mongo 1.4.4”运行Apache 2.2.22-13。 它连接到一个MongoDB 2.4.6分片群集。
当发生stepDown时,mongo模块似乎停留在主要的mongod节点上,并且说:“PHP致命错误:带有消息”node1.mongodb.cluster:27017的未捕获exception'MongoCursorException':远程服务器已closures连接' …
为了build立连接,我尝试了以下两种方法:
$ m = new MongoClient('mongodb://mongod0.mongodb.cluster,mongod1.mongodb.cluster,mongod2.mongodb.cluster,mongod3.mongodb.cluster',array(“replicaSet”=>“myrs”));
和
$ m = new MongoClient('mongodb://mongos.mongodb.cluster',array(“replicaSet”=>“myrs”));
在stepDown之后,两种方式给出相同的错误信息。
使用第一个连接string,重新启动Apache足以让事情回到轨道上。 在最后一个,重新启动不:我不再有任何错误消息,但应该来自MongoDB的数据仍然丢失。
提前致谢,
格雷格。
我将mongo pecl模块从1.4.5升级到1.5.8。 这个问题已经修复。