2009-11-10 70 views
3

致命错误:用尽33554432个字节允许存储器大小(试图分配136753个字节)/home/alien/Desktop/1/scanner.php线166如何避免PHP内存耗尽?

这是166线PHP代码的:

$text[$i] = curl_multi_getcontent ($curl[$i]); 

在这里任何方式清空RAM或东西来解决这个问题,对不起,我不是一个程序员

回答

3

它看起来像你的服务器配置了32MB的内存分配给PHP。不知道更多关于你的应用程序,这听起来像一个合理的数量,但肯定有需要更多的应用程序。

在你php.ini文件,你可以增加内存的限制,就像这样:

memory_limit = 64M 

注意持续增加分配给应用程序的内存量往往是一个更大的问题的迹象。您可能还希望开发人员查看代码中是否有任何未正确清理的数据。

0

您可以通过php.ini增加可为每个单独的PHP请求的内存量。详情请参阅documentation of memory_limit

但是,请注意那里的警告:这有助于防止在服务器上耗尽所有可用内存的编写不当的脚本。也许你的第一步应该是去和这个代码的开发者交谈。

0

PHP中没有free_ram()函数。你做了几个选择:

  • 增加可用于php的内存限制。在你的php.ini文件中增加memory_limit
  • unset()变量并且交叉你的手指。 PHP认为合适并运行它的垃圾回收器很难衡量。
1

Blah blah,memory_limit。似乎每个人都打败了我。

但是请注意,php的默认内存限制通常为8或16mb,而您使用的是32 ...有人已经采取了增加限制的步骤,并且每增加一次,您正在降低网站的总体性能...更高的限制意味着更少的实例,更高的开销和更多可能的错误。

我想你需要看看它是吃什么这个公羊。不要采取陈词滥调,但任何人都应该足够32mb,如果你只是继续增加限制,你会把自己描绘成一个非常丑陋的角落。