PHP和Mongo – findOne()导致内存耗尽

前端之家收集整理的这篇文章主要介绍了PHP和Mongo – findOne()导致内存耗尽前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我的 PHP memory_limit是64M(这是相当高的开始)

我有一个MongoCollection :: findOne()在我的PHP代码调用,我通过MongoId“找到一个”.
它在大多数情况下起作用.但是在某些情况下,它会导致PHP超过64M的memory_limit.

Mongo中的数据记录最多为3.5MB,因为Mongo不允许超过4MB.

当我运行时,memory_get_usage()在调用findOne()之前,它只有大约4MB.所以findOne()似乎已经消耗了其他的60MB.这是内存泄漏还是存储在Mongo中的设计缺陷?

我的PHP Mongo驱动是最新的1.26

如果您可以发布正在运行的确切代码,这将是有帮助的.这很可能是你的代码,但是有一个机会,它可能是Mongo PHP驱动程序的一个bug.最新版本的驱动程序(1.2.9)似乎是从以前版本的倒退.我自己在驱动程序中发现一个错误,导致PHP在连接超时时出现故障:o在与10gen开发人员的对话中,我向我透露,PHP驱动程序是所有语言中最不成熟的,但我被告知他们刚刚聘请了PHP开发人员,所以司机应该很快得到一些爱.

猜你在找的PHP相关文章