如何避免PHP内存耗尽?

时间:2009-11-10 19:48:43

标签: php memory

致命错误:第166行/home/alien/Desktop/1/scanner.php中允许的内存大小为33554432字节(尝试分配136753字节)

这是PHP代码的166行:

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

这里可以通过清空RAM或其他东西来解决这个问题,抱歉我不是程序员

4 个答案:

答案 0 :(得分:3)

看起来您的服务器配置了分配给PHP的32MB内存。在不了解您的应用程序的情况下,这听起来像是一个合理的数量,但肯定会有更多的应用程序。

php.ini文件中,您可以增加内存限制,如下所示:

memory_limit = 64M

请注意,不断增加分配给应用程序的内存量通常是更大问题的标志。您可能还希望开发人员查看代码以查找未正确清理的任何数据。

答案 1 :(得分:1)

Blah blah,memory_limit。好像每个人都把我打败了。

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

我认为你需要研究吃掉所有这些公羊的东西。不要采用陈词滥调,但对于任何人来说,32mb应该足够了,如果你只是不断增加限制,你就会把自己描绘成一个非常丑陋的角落。

答案 2 :(得分:0)

您可以通过php.ini增加每个PHP请求的可用内存量。有关详细信息,请参阅documentation of memory_limit

但是,请注意那里的警告:这有助于防止编写糟糕的脚本占用服务器上的所有可用内存。也许你的第一步应该去和开发人员交谈这段代码。

答案 3 :(得分:0)

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

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