我在尝试运行我编写的php脚本时遇到以下错误:
致命错误:允许的内存大小为 33554432字节耗尽(试图 分配56320个字节) /home/evergrf2/public_html/ianburris/p/maptile/mapfetcher.php 在第43行
令我困惑的是它说允许的内存大小是33554432字节,当脚本试图分配56320字节的空间时,允许的内存耗尽。当56320小于33554432时,这怎么可能?也许我误解了这是在说什么......
答案 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的帮助下编写脚本, 帮助找到可能的内存泄漏。