PHP和Mongo – findOne()导致内存耗尽
发布时间:2020-12-13 14:01:17 所属栏目:PHP教程 来源:网络整理
导读:我的 PHP memory_limit是64M(这是相当高的开始) 我有一个MongoCollection :: findOne()在我的PHP代码中调用,我通过MongoId“找到一个”. 它在大多数情况下起作用.但是在某些情况下,它会导致PHP超过64M的memory_limit. Mongo中的数据记录最多为3.5MB,因为Mong
我的
PHP memory_limit是64M(这是相当高的开始)
我有一个MongoCollection :: findOne()在我的PHP代码中调用,我通过MongoId“找到一个”. 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开发人员,所以司机应该很快得到一些爱.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |