PHP内存不足


Out of memory in PHP

我在PHP中遇到内存问题。我被要求获得一份巨大的报告,一张包含大量信息的表格。

这些信息也是通过一些复杂的功能获得的,这意味着它不能按照用户的要求获得,因为他/她必须等待大约5分钟才能显示信息。

我正在缓存结果,但随着信息的增长,现在浏览器崩溃了,什么都不显示。对此有什么可能的解决方案?

我想把数据存储在mysql中,而不是缓存中,然后在用户请求信息时执行几个选择。你觉得这个解决方案怎么样?还有其他更好的选择吗?

更新

看起来问题没有被理解,所以我补充了更多的细节。

已在使用搜索。有很多点需要记住:

1) 信息本身必须经过计算。我运行了一个cron,它构建它(大约需要5分钟),并将它存储在缓存中。浏览器只是从缓存中进行渲染,而搜索是在这些缓存数据上进行搜索。信息无法实时获取。2) 这就是为什么我考虑将计算结果存储在MySQL中,这样搜索就可以在MySQL表中搜索,而不是搜索缓存的数据(这是巨大的,现在浏览器无法处理)。

我希望问题现在更清楚了!

我认为将数据存储在mysql中是个好主意,特别是如果你在频繁查询的数据列上建立一些索引,缓存会消耗大量内存(它通常将数据存储到RAM中)。

您应该考虑的另一件事是,尝试查看服务器日志(访问和错误)日志,因为您可以在中找到解决方案

最后希望您解决问题

如果可能的话,也许应该对输出进行分页。我认为将数据存储在MySQL中不是一个好主意。。。

检查此参数的php.ini设置

memory_limit = 512M

将其设置为更大的值