PHP允许内存限制错误,内存分配很少

时间:2012-11-11 00:36:00

标签: cakephp php

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

  

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

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

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

我无法理解为什么这个错误发生在这么小的内存分配上。 并且这种错误不会在任何时间发生,只会发生一些时间。这也很奇怪。

2 个答案:

答案 0 :(得分:3)

这是指它试图分配和失败的金额。它超过了限制9,660字节。

答案 1 :(得分:0)

PHP在脚本运行时动态分配内存 - 它也会尝试解除分配。

  

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

您的错误消息中的9660字节简单参考最新的分配 - 想想它就像谚语破坏骆驼的背部。您的脚本已经分配得非常接近您配置的限制,然后尝试分配最后一点,使其超出限制,因此出现此错误。

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

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