“致命错误:x字节允许的内存大小耗尽(试图分配y字节)”的含义“?

时间:2011-03-13 22:21:51

标签: php

(这是一个非常频繁的错误,但找不到意义。)

Fatal error: Allowed memory size of x bytes exhausted (tried to allocate y bytes)

我有一些问题:

  1. 这显然是一个内存不足的错误,但这在Layman的术语中意味着什么?
  2. 是否可以从x
  3. 了解一些信息(如服务器的RAM)
  4. y怎么样?有时它是两位数字。
  5. 感谢。

3 个答案:

答案 0 :(得分:4)

  1. 这意味着PHP脚本使用的内存超出了memory_limit配置选项的值。请注意,这可能会或可能不会与操作系统认为脚本的内存使用量在出错时的内容一致。
  2. x为您提供memory_limit配置选项的值。您还可以假设服务器至少有足够的虚拟内存来处理限制,但这就是它。
  3. 不,y就像稻草的大小一样,最终打破了骆驼的背部。

答案 1 :(得分:2)

x = ini_get('memory_limit');

y =超出该限制的php请求

这里的ram不是问题,做一个更好的PHP脚本或只是用ini_set来提升memory_limit

无论如何,您的问题是 dup ,而简单的谷歌搜索会解决它

答案 2 :(得分:0)

由于PHP解释器对其运行的脚本具有内存大小限制,因此会触发此错误。 “x”部分是该限制,“y”是导致脚本触发错误的分配。要覆盖它,您可以使用以下内容:

php_value memory_limit xxxM

在您的服务器配置或

memory_limit = xxxM
PHP配置中的

ini_set('memory_limit', 'xxxM');

在脚本本身。