可能重复:
Allowed memory size of 33554432 bytes exhausted (tried to allocate 43148176 bytes) in php
喜 我想运行该程序,但我一直收到这个错误; 致命错误:允许的内存大小为33554432字节耗尽(试图分配12个字节) PLZ,帮帮我
答案 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)无界循环/递归