首页 > 解决方案 > 内存限制耗尽flysystem/src/Util/MimeType.php,如何找到文件路径?

问题描述

我开始在我的 Laravel 日志中收到此错误允许的内存大小为 536870912 字节已用尽(尝试分配 227371200 字节)

有什么方法可以获取有关试图操作的脚本/文件的更多信息吗?我在服务器上寻找类似大小的文件,但我找不到任何东西。

我的第一个电话是,也许是一些日志文件太大了。

将内存限制提高到 2GB 部分解决了问题,但我担心这个快速修复并不能解决实际问题,因为我不知道正在尝试更改什么文件或脚本为什么需要这么多内存。

据我所知,当我的 /api 函数之一被调用时会发生这种情况。

如果它是无限循环,我认为提高限制将无济于事。

    "class": "Symfony\\Component\\Debug\\Exception\\FatalErrorException",
    "message": "Allowed memory size of 536870912 bytes exhausted (tried to allocate 227371200 bytes)",
    "code": 1,
    "file": "\/vendor\/league\/flysystem\/src\/Util\/MimeType.php:188"
}```

标签: phplaravelflysystem

解决方案


您可以将文件作为流处理,以防止大文件出现内存问题。

请参阅Storage::putFile() 此处或使用 PHPfopen()获取可以传递给 Laravel 存储方法的流句柄。


推荐阅读