php - 内存限制耗尽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"
}```
解决方案
您可以将文件作为流处理,以防止大文件出现内存问题。
请参阅Storage::putFile()
此处或使用 PHPfopen()
获取可以传递给 Laravel 存储方法的流句柄。
推荐阅读
- javascript - 我的 Webpack 文件加载器不会从 index.html 加载我的图像
- c++ - 如何在接收类之外声明方法嵌套类
- node.js - 创建Sonos API oauth Token时400 Bad Request invalid_request是什么意思
- php - Laravel Horizon 空仪表板
- jenkins-pipeline - Jenkinsfile - 将私钥凭证添加到 terraform
- java - Java 邮件 EHLO 问题
- amazon-s3 - 使用基于会话的令牌身份验证将数据从 hdfs 移动到 s3
- mongodb - 在匹配元素之后返回子文档数组元素
- c# - 使用 geckofx 45.0 登录 gmail 时出现问题
- ruby - 有没有一种优雅的方式将“什么都不做”作为 lambda 传递?