得到以下错误,我理解并且以前见过。但有一件事似乎很奇怪,它试图分配一个低于允许内存大小的量。这看起来不是很奇怪吗?
Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 7680 bytes) in XXX on line 93
这可能是内存管理的某种错误配置吗?我使用的是云服务器。
"尝试分配7680字节"不是指脚本分配的内存总量,而是指它超过限制的最后一部分。
假设您的脚本已经分配了33550000 b,并试图再分配7680 b。总数超过了内存限制,这就是出现错误的原因。
也许内存限制设置得比您认为的要小?
您可以使用它来显示当前限制
echo ini_get('memory_limit');
或者增加
ini_set('memory_limit', '64M');
当然,您可以使用看到整个php环境
echo phpinfo();