致命错误:分配较少时,PHP中允许的内存大小

Fatal error: Allowed memory size in PHP when allocating less

我明白了:

Fatal error: Allowed memory size of 268435456 bytes exhausted (tried
to allocate 4981690 bytes) in...

这看起来有点奇怪! 从我能读到的内容来看,应该不会发生吗? 并不意味着"反过来"。 我已经使用了一个非常大的memory_limit


它不会尝试一次性分配所有内容。 假设我们的限制是10个字节。 它将分配3,3,3和另一个3 - 繁荣:抛出错误:

1
Allowed memory size of 10 bytes exhausted (tried to allocate 3 bytes) in..

不,这没关系。 错误消息可能会误导。 PHP尝试分配的~5 MB(4981690字节)不是PHP分配的内存总量。 由于memory_limit,它只是它试图分配的最后一堆内存,它无法做到。

但这真的好像很多。 你在那里做什么? 处理许多高分辨率图像?


您尝试分配额外的4981690字节,并且之前已经分配了超过268435456 - 4981690个字节。