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

不幸的是,这似乎在一个特定请求的过多负担下崩溃了。这里有5917(并且可能还在计数!)条目要更新。该函数循环运行一会儿,但最终死于“允许的[字节数]的内存大小用尽”错误。

在不强迫任何人经过大量代码的情况下-我可以采取哪些策略来阻止此内存泄漏导致此表不可更新?

最佳答案

您可以随时尝试设置:

ini_set('memory_limit', '-1');


[docs]

more appropriate value

另外,可以将更多的资源用于SQL(使用CASE更新或嵌套的选择更新),或设置cron job以较小的间隔启动脚本,直到更新完成...

关于php - 如何防止来自查询结果的PHP允许的内存大小致命错误?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7686786/

10-14 14:18
查看更多