gpt4 book ai didi

php - 如何防止查询结果出现 PHP Allowed Memory Size Fatal Error?

转载 作者:行者123 更新时间:2023-11-30 23:51:32 24 4
gpt4 key购买 nike

我有一个(蛋糕)php 函数,旨在更新 MySQL 表中的条目;首先它运行查询以获取自 $lastImportDate 以来的所有新项目,然后循环执行对项目的各种操作、保存项目、保存相关表信息。

不幸的是,这似乎在一个特定请求的过度压力下崩溃了。这里有 5917 个(可能还在增加!)条目要更新。该函数循环了一段时间,但最终因“允许的 [大量字节] 的内存大小耗尽”错误而终止。

在不强制任何人费力地编写大量代码的情况下——我可以合理地采用什么策略来阻止这种内存泄漏导致该表无法更新?

最佳答案

听起来您正在将所有记录保存在一个变量中。尝试只获取 ID,然后遍历 ID。您通过执行 $this->Model->findById($id) 获取每条记录,然后对该特定记录执行操作。然后保存该记录并取消设置数据,这样您就不会在变量中存储太多数据。如果将所有内容都放在一个变量中,内存不足并不会让我感到惊讶。

增加内存限制只是一个糟糕的临时解决方案,想象一下必须更新 100000 条或更多记录。最终你会用完。

关于php - 如何防止查询结果出现 PHP Allowed Memory Size Fatal Error?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7686786/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com