从 Mongo 2.4.10 成功升级到 Mongo 2.6.0 (我确认我可以在shell中查询数据库)我之前遇到了一些问题工作的PHP代码。
未捕获的异常'MongoConnectionException' with message 'Failed to connect to: localhost:27017: Remote server has closed the connection'
并且还指出了以下行:$m = new Mongo();
我正在使用Php 5.5.10-1+deb.sury.org~precise+1
1.4.5 phpMongo Driver
(我认为尚未升级到支持2.6版本)。 2.6升级后有人遇到过同样的问题吗?
答案 0 :(得分:1)
您始终希望在升级服务器之前升级驱动程序。
MongoDB PHP驱动程序版本1.5.0(及更高版本)具有MongoDB 2.6.0(及更高版本)支持,因为在使用MongoDB PHP驱动程序的1.4.x(或更早版本)版本时,某些内容将无法正常工作。
我强烈建议您升级到MongoDB PHP驱动程序的1.5.1版本。 此外,“Mongo”对象已被弃用,您真的想使用“MongoClient”类。
话虽如此。这应该工作得很好。
你的mongod.log说什么?
你能使用mongo
shell连接到localhost:27017吗?
答案 1 :(得分:0)
实际上一切似乎都比这简单(我应该责怪我而不是php mongo驱动程序):
我使用new Mongo();连接到数据库(显然已弃用)
启动此类将发出E_DEPRECATED警告,并关闭 承认写道。
奇怪的是,我从未在日志中看到过这个,尽管我有E_ALL
作为我的警告级别。无论如何,在我改为推荐方式new MongoClient();之后,问题就解决了。