2

嗨,我收到以下奇怪的错误

致命错误:内存不足(分配 29097984)(试图分配 802454 字节)

当我这样做时,ini_get('memory_limit')我得到了256M

在上述错误中,脚本在到达时死亡27M??

任何建议都在使用共享主机帐户。

4

3 回答 3

0

您需要“调试”并找到问题的根源。我将首先将您的 php 内存限制增加到 526M

使用它来做到这一点:

ini_set('memory_limit', '512M');

这足以处理任何事情。如果这仍然不起作用,那么我会在某处寻找无限循环。

于 2011-12-21T14:38:03.150 回答
0

如果您在共享主机上,则极有可能您无权更改内存限制。问题很可能是您正在尝试创建一个巨大的数组;您可能想对脚本中当前存在的任何循环结构尝试不同的方法。但是没有代码,任何人都无法提供帮助。

于 2011-12-21T14:42:05.550 回答
0

即使内存限制为 256 兆字节,也不意味着您的脚本能够分配那么多。原因是 RAM 在各个进程之间共享。他们中的一些人可能已经分配了大量的内存,并留下了几兆字节的操作系统,因此无论施加的限制如何,您的脚本都无法分配它需要的量。

您应该关注的是尽可能少地使用 RAM。对于像您这样的数据库结果,最好使用SplFixedArray而不是“常规”PHP 数组。

于 2011-12-21T14:49:41.570 回答