允许的内存大小为33554432字节耗尽(试图分配12个字节)

时间:2010-09-08 09:29:02

标签: php

  

可能重复:
  Allowed memory size of 33554432 bytes exhausted (tried to allocate 43148176 bytes) in php

喜 我想运行该程序,但我一直收到这个错误; 致命错误:允许的内存大小为33554432字节耗尽(试图分配12个字节) PLZ,帮帮我

6 个答案:

答案 0 :(得分:3)

这是一个简单的教程,它将起作用。

当内存要求超过默认的8MB限制时,此错误消息可能会出现在以前正常运行的PHP脚本中。不过,请不要担心,因为这是一个很容易解决的问题。

通过在脚本顶部包含一行代码来更改一个特定脚本的内存限制:

ini_set("memory_limit","12M");

12M将限制设置为12兆字节(12582912字节)。如果这不起作用,请继续增加内存限制,直到脚本适合或服务器尖叫为止。

您还可以通过在服务器的php.ini文件中添加这样的行来永久地对服务器上运行的所有PHP脚本进行此更改:

memory_limit = 12M

请记住,巨大的内存限制是良好编码的不良替代品。写得不好的脚本可能会低效地浪费内存,这会导致频繁执行的脚本出现严重问题。但是,某些应用程序很少运行,并且需要大量内存,例如导入和处理大数据文件。

如果您需要更多帮助,请随时回复。

答案 1 :(得分:0)

可能存在运行无限循环 将代码粘贴到此处以获得更好的答案

答案 2 :(得分:0)

找到你的php.ini文件并编辑memory_limit字段

答案 3 :(得分:0)

增加php.ini文件中的max_memory。

答案 4 :(得分:0)

要么增加php.ini中定义的内存限制,要么重写代码以使用更少的内存(例如,通过释放不会被PHP的垃圾收集自动清理的资源或变量),或者给我们更多细节,以便我们可以尝试提供帮助。 “尝试运行该程序”并没有真正告诉我们多少,例如。什么节目?

答案 5 :(得分:0)

在更改内存限制之前,应首先检查代码是否需要大量内存。这是一个非常不寻常的情况 - 通常这是一个指标:

1)其他地方的配置不正确,例如在网络服务器

2)代码中资源的低效管理

3)无界循环/递归