从 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 升级后遇到过同样的问题吗?
您始终希望在升级服务器之前升级驱动程序。
MongoDB PHP Driver 版本 1.5.0(及更高版本)支持 MongoDB2.6.0(及更高版本),在使用 MongoDB PHP 驱动程序的 1.4.x(或更早)版本时,某些事情将不起作用。
我强烈建议您升级到MongoDB PHP驱动程序的1.5.1版本。此外,"Mongo"对象已被弃用,你真的想使用"MongoClient"类。
话虽如此。这应该可以正常工作。你的君主.log怎么说?您可以使用 mongo
shell 连接到 localhost:27017 吗?
实际上一切似乎都比这更简单(我应该只责怪我而不是 php mongo 驱动程序):
我正在使用新的Mongo()来连接到数据库(显然已被弃用)
实例化此类将发出E_DEPRECATED警告,并关闭 确认写。
奇怪的是,尽管我E_ALL
作为我的警告级别,但我从未在我的日志中看到过这一点。无论如何,在我更改为推荐方式后,新的MongoClient();问题解决了。