【问题标题】:PHP understanding memory limit error [duplicate]PHP理解内存限制错误[重复]
【发布时间】:2013-09-27 09:08:07
【问题描述】:

我收到了这个错误

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

他为什么尝试分配4194304(小于他指定的限制134217728)却用尽了?

【问题讨论】:

  • 产生此错误的代码是什么样的?
  • 4194304 是 php 试图分配的额外字节,但此时内存已满。

标签: php memory


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2013-03-06
      • 1970-01-01
      • 1970-01-01
      • 2014-02-01
      • 2016-08-19
      • 2018-02-21
      • 1970-01-01
      • 1970-01-01
      • 2015-03-03
      相关资源
      最近更新 更多