错误:
更新vlucas / phpdotenv(v2.4.0 => v2.5.1):以下异常 是由于内存不足或交换,或未配置交换引起的 校验 https://getcomposer.org/doc/articles/troubleshooting.md#proc-open-fork-failed-errors 详情
当前AWS实例RAM:2GB
尽管我们已通过将RAM从2GB升级为4GB来解决了此问题,但我毫不怀疑,因为增加RAM并不是解决小型站点的方法。
请检查以下几点:
1)Laravel建议用于更新软件包(composar.phar更新)的内存是多少?
2)laravel在作曲家更新时也使用SWAP内存吗?
答案 0 :(得分:1)
理想情况下,composer update
仅在您的开发环境中运行,当您在AWS服务器中推送代码时,您必须使用的命令是composer install
(不会占用太多内存)。 / p>
如果您想知道update
或install
之间的区别,请参考以下链接:What are the differences between composer update and composer install?
答案 1 :(得分:1)
我遇到了同样的问题,但从未找到原因。您可以运行composer update --profile
甚至是composer update --profile -vvv
来获得引擎盖下发生的事情的详细列表。第一个将显示使用了多少内存。
不应超过600Mb。但是仍然会耗尽内存。当laravel应用进入维护模式时,不应添加它。您可以在第二个外壳中运行命令top -ac
,然后查看在那里发生的情况。
托管公司也无法帮助我,因为他们将其归咎于我。
但是有办法解决。仅上载composer.lock
,然后在生产服务器上运行composer install --no-dev
。它将给您有关过期软件包的警告。回答“是”,您的产品服务器将无故障更新。该命令也运行laravel composer.json
脚本命令并更新composer.json
软件包版本。