PHP使用太多内存

时间:2009-09-30 19:06:05

标签: php apache memory

我在尝试运行我编写的php脚本时遇到以下错误:

  

致命错误:允许的内存大小为   33554432字节耗尽(试图   分配56320个字节)   /home/evergrf2/public_html/ianburris/p/maptile/mapfetcher.php   在第43行

令我困惑的是它说允许的内存大小是33554432字节,当脚本试图分配56320字节的空间时,允许的内存耗尽。当56320小于33554432时,这怎么可能?也许我误解了这是在说什么......

4 个答案:

答案 0 :(得分:6)

56320的分配推动你超过极限。如果需要,增加php.ini的限制。 更清楚的是不要读取它作为alocating 56320超过允许33554432.而是将其视为,在分配56320时,我们超过了33554432的限制。

修改:如果没有正确的debuging并确保没有内存泄漏,请不要增加。

答案 1 :(得分:6)

它表示尝试分配额外的56320个字节会导致内​​存耗尽(因此它已经分配了至少33498112个字节)。

答案 2 :(得分:3)

33554432字节是32MB,这不是很大。

你可以增加PHP的内存限制(在php.ini中,查找一行“memory_limit = 32M”并适当修改它)。我通常使用128M进行开发和重数字运算。

另一种解决方案是分析和重写代码以减少内存使用。

答案 3 :(得分:2)

我还会在Xdebug的帮助下编写脚本, 帮助找到可能的内存泄漏。