1

我收到此错误

Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 4194304 bytes)

为什么他试图分配4194304(小于他指定的限制134217728)并且筋疲力尽?

4

2 回答 2

1

在处理资源繁重的操作时,需要考虑几件事和多个步骤来防止内存耗尽。

  • 我们在任何给定时间缓存了多少数据?
  • 会有多少次迭代?
  • 如何将内存使用量降至最低?
  • 在整个执行过程中,我是否必须将所有数据保存在内存中?
  • ...

您很可能因为没有从当前执行中刷新或销毁旧数据而耗尽了您的内存。这就是 PHP 达到允许分配系统内存的原因。

于 2013-09-22T10:50:10.050 回答
1

PHP 尝试分配额外的4194304字节(在您的代码达到上限 134217728 之后),但您的代码也用尽了。)

134217728是您的代码超出的限制。

于 2013-09-22T10:33:34.930 回答