在具有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。
答案 0 :(得分:1)
php 5.4中存在一个错误(已在2015年修复,所以你真的应该升级服务器中的php版本)导致finfo::file
函数在尝试提取信息时分配大量内存csv文件。
以下是该错误的链接:
{{3}}