3

我开始在我的 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"
}```
4

2 回答 2

2

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

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

于 2019-08-26T18:50:43.930 回答
0

这看起来像是 PHP 中的一个已知错误 - https://bugs.php.net/bug.php?id=78987 这是由 libmagic 中的上游错误引起的 - https://bugs.astron.com/view.php?编号=234

于 2021-06-14T15:37:27.783 回答