php - 运行作曲家更新时出现内存错误
问题描述
错误:
更新 vlucas/phpdotenv (v2.4.0 => v2.5.1):以下异常是由于缺少内存或交换,或者没有配置交换检查 https://getcomposer.org/doc/articles/troubleshooting.md# proc-open-fork-failed-errors 了解详情
目前 AWS Instance RAM:2GB
虽然我们已经通过从 2GB => 4GB 升级 RAM 解决了这个问题,但我毫不怀疑增加 RAM 这不应该是小型站点的解决方案。
请您检查以下几点:
1) Laravel 更新包所需的推荐内存是多少(composar.phar 更新)?
2)在作曲家更新时,laravel 是否也使用 SWAP 内存?
解决方案
我遇到了同样的问题,一直没有找到原因。您可以运行composer update --profile
,甚至composer update --profile -vvv
可以查看引擎盖下发生的事情的详细列表。第一个将显示使用了多少内存。
它不应该超过600Mb。但是你仍然会耗尽内存。当 laravel 应用程序进入维护模式时,它不应该添加到它。您可以在第二个 shell 中运行该命令top -ac
,看看那里会发生什么。
托管公司也无法帮助我,因为他们将其归咎于我哈哈。
但是有办法解决。上传composer.lock
唯一并在生产服务器上运行composer install --no-dev
。它会给你一个关于过时包的警告。回答“是”,您的产品服务器将顺利更新。该命令也运行 laravelcomposer.json
脚本命令并更新composer.json
软件包版本。
推荐阅读
- vue.js - 在请求之前检查令牌是否仍然有效
- r - 如何快速分组大量元素
- javascript - 如何使用 Firefox 扩展程序转到特定选项卡
- ios - 子层在 Swift 中调整为 UIView 边界
- javascript - 使用 redux-saga 反应服务器端渲染
- haskell - Haskell 类型替换
- angular - Angular 7:子域不可知路由器/routerLink
- asp.net - Web 表单和核心身份验证
- sql - 如果表在 SQLite 中有 0 行,则返回错误
- javascript - Here-Maps Routing API 因凭据无效而失败,但其他 Here-API 继续使用完全相同的凭据