PHP info->文件尝试使用5GB内存

时间:2017-01-05 01:51:46

标签: php symfony

在具有1100行和60列以及~400kb大小的csv文件上调用Symfony的Uploadfile-> getMimeType()时,$ finfo->文件尝试使用大约5gb内存,这会给我以下错误:

致命错误:在第69行的/vendor/symfony/symfony/src/Symfony/Component/HttpFoundation/File/MimeType/FileinfoMimeTypeGuesser.php中,允许的内存大小为1077936128个字节(试图分配4294937911个字节)

这是给出该错误的代码部分:

if (!$finfo = new \finfo(FILEINFO_MIME_TYPE, $this->magicFile)) {
    return;
}

return $finfo->file($path);

顺便说一下,这种情况发生在我们的PHP版本为5.4的生产服务器上,但是我的dev服务器上没有发生这种情况。使用php 7。

1 个答案:

答案 0 :(得分:1)

php 5.4中存在一个错误(已在2015年修复,所以你真的应该升级服务器中的php版本)导致finfo::file函数在尝试提取信息时分配大量内存csv文件。

以下是该错误的链接:
{{3}}