2012-01-30 44 views

回答

2

错误通知说,PHP试图用183200个字节额外内存(1341994528个1342177727字节之间的事情)已经使用的内存,这个突破最大允许1342177728个字节。

你必须(编辑php.ini和)extend the memory limit of PHP

+0

真遗憾!我不知道这个消息说的是“额外”分配的内存。我应该在我的问题中提到,我知道如何分配更多的内存。我只是好奇这(对我来说)似乎“不合逻辑的错误”可能会出现。无论如何,问题解决了。谢谢。 – SquareCat 2012-01-30 21:36:38

+0

是的,该通知是误解。在发生错误的脚本的附近搜索此行,并尝试取消设置不再使用的变量。例如一些大的数据集。 – powtac 2012-01-30 21:37:47

+0

感谢您的提示。不幸的是,没有办法进一步优化这个代码。它用于高度详细地生成波形。但它的好处 - 我只为每个文件运行一次,当然我正在缓存结果。 – SquareCat 2012-01-30 21:42:28

1

这条消息意味着php正试图分配一个额外的 183200字节的顶部,因为它已经有了,所以这最后的“下降”使它超过了限制。

解决方案可能是increase the memory limit,但是如果您重构代码以避免占用太多内存(如果可能的话)会更好。

0

因为在那个存储器请求作出,小于183200个字节仍然在134217728.

其最大大小的块这就像要求全玻璃的牛奶从罐未使用,但只点几滴就剩下了。

0

看看memory limit in php.ini。你的php应用程序正在分配内存(如果不再需要它,就释放它),并且php引擎会限制当时一个脚本可以使用的最大内存量。