1

当我尝试使用 PHP(CakePHP) 应用程序上传文件时,发生了这些错误。

致命错误:第 156 行 /home/xsu0653/public_html/administer/app/models/behaviors/sf_upload.php 中允许的 16777216 字节内存大小已用尽(尝试分配 9660 字节)

如您所见,在我的 php.ini 设置中,允许的内存限制设置为 16MB。

此错误消息表明我的应用程序仅尝试分配 9660 字节。我认为 9,660 字节只有 0.009MB。

我不明白为什么在分配这么少的内存时会发生这个错误。而且这个错误不会在任何时候发生,只会发生几次。也很奇怪。

4

2 回答 2

3

那是指它尝试分配但失败的数量。它超出了限制 9,660 字节。

于 2012-11-11T00:38:33.947 回答
0

PHP 在运行脚本时动态分配内存——它也尝试在运行时释放内存。

此错误消息表明我的应用程序仅尝试分配 9660 字节。

您的错误消息中的 9660 字节简单指的是最新的分配 - 把它想象成众所周知的压死骆驼的稻草。您的脚本已经分配了非常接近您配置的限制,然后尝试分配这最后一点,使其超过限制,因此出现此错误。

像 Cake 这样的框架在内存使用方面可能相当低效,这取决于正在使用的模块 - 你会发现他们建议提高限制。

您还可以通过取消设置大型数组或在不再需要它们时清除缓冲区来帮助改进。

于 2012-11-11T02:11:33.220 回答