Rap*_*aël 3 php memory virtualbox vagrant composer-php
我在无业游民的VirtualBox环境中安装了带有作曲家的php5.5。
当我尝试任何作曲家的命令时,以下错误随机出现:
The following exception is caused by a lack of memory and not having swap configured
我该如何解决?
Ana*_*y R 18
有时交换文件没有足够的内存用于作曲家更新,所以创建一个新的:
(假设现有的 /swapfile 有 2G,用 8G 的驱动器空间创建新的 /swapfile1)
$ sudo fallocate -l 8G /swapfile1
$ sudo chmod 600 /swapfile1
$ sudo mkswap /swapfile1
$ sudo swapon /swapfile1
Run Code Online (Sandbox Code Playgroud)
作曲家更新后,您可以将其删除并仅保留初始文件:
$ sudo swapoff /swapfile1
$ sudo rm /swapfile1
Run Code Online (Sandbox Code Playgroud)
Ale*_*lex 16
修复它不是一个错误-要启用交换,您可以使用例如:
/bin/dd if=/dev/zero of=/var/swap.1 bs=1M count=1024
/sbin/mkswap /var/swap.1
/sbin/swapon /var/swap.1
Run Code Online (Sandbox Code Playgroud)
参考:https : //getcomposer.org/doc/articles/troubleshooting.md#proc-open-fork-failed-errors
希望它能对您有所帮助:)
该线程表明他们不会对此进行任何修复。
这里有两个解决方法。您可以单独使用,也可以同时使用两者。
在流浪机器中。增加当前命令的 php 内存限制。跑:
php -dmemory_limit=2G /path/to/composer update
Run Code Online (Sandbox Code Playgroud)
将此配置添加到您的 vagrant 文件中,以便您可以临时增加分配的内存:
$MEMORY = ENV.has_key?('VM_MEMORY') ? ENV['VM_MEMORY'] : "512"
Vagrant.configure("2") do |config|
[...]
config.vm.provider "virtualbox" do |v|
[...]
v.memory = $MEMORY
[...]
end
[...]
end
Run Code Online (Sandbox Code Playgroud)
然后按如下方式重新加载您的流浪机器: VM_MEMORY=2048 vagrant reload
然后,在你的 vagrant 机器上,运行composer update.
| 归档时间: |
|
| 查看次数: |
7154 次 |
| 最近记录: |