Php Composer update`以下异常是由于内存不足和未配置交换引起的` vagrant中的错误
我在一个流浪的VirtualBox环境中安装了带有composer的php5.5 当我尝试任何作曲家的命令时,以下错误会随机出现:Php Composer update`以下异常是由于内存不足和未配置交换引起的` vagrant中的错误,php,memory,vagrant,composer-php,virtualbox,Php,Memory,Vagrant,Composer Php,Virtualbox,我在一个流浪的VirtualBox环境中安装了带有composer的php5.5 当我尝试任何作曲家的命令时,以下错误会随机出现: 以下异常是由于内存不足和未配置交换造成的 我该怎么解决这个问题呢?建议他们不会解决这个问题 这里有两个解决办法。您可以单独使用或同时使用两者 第一种解决方法:增加命令的内存限制 在流浪机器里。增加当前命令的php内存限制。运行: php -dmemory_limit=2G /path/to/composer update 第二种解决方法:增加客户机内存 将此配置添
以下异常是由于内存不足和未配置交换造成的
我该怎么解决这个问题呢?建议他们不会解决这个问题
这里有两个解决办法。您可以单独使用或同时使用两者
第一种解决方法:增加命令的内存限制
在流浪机器里。增加当前命令的php内存限制。运行:
php -dmemory_limit=2G /path/to/composer update
第二种解决方法:增加客户机内存
将此配置添加到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
然后按照如下方式重新加载您的流浪机器:VM\u MEMORY=2048流浪重新加载
然后,在您的vagrant机器中,运行
composer update
转到php.ini文件并更新
内存限制为512MB或1G这不是一个bug,请修复它-要启用交换,您可以使用例如:
/bin/dd if=/dev/zero of=/var/swap.1 bs=1M count=1024
/sbin/mkswap /var/swap.1
/sbin/swapon /var/swap.1
参考:
希望它能帮助您:)有时交换文件没有足够的内存用于编写器更新,所以请创建一个新文件: (假设现有的/swapfile有2G,用8G的驱动器空间创建新的/swapfile 1) 更新composer后,您可以删除它并仅保留初始文件:
$ sudo swapoff /swapfile1
$ sudo rm /swapfile1
这解决了我的问题: sudo/bin/dd if=/dev/zero of=/var/swap.1bs=1M count=1024 sudo/sbin/mkswap/var/swap.1 sudo/sbin/swapon/var/swap.1 这可能非常有用,可以解决问题。要永久添加到交换,请执行以下操作 要查看设备上的可用内存:
free-m
更改VMs内存为我解决了这个问题。仅仅增加PHP的内存限制并没有起到作用。如果您有SSD,则不建议进行交换,因为这会造成损坏。使用fallocate和swapon创建的交换文件因参数无效而失败。像Alex那样使用dd可以解决我的问题。谢谢,如果你只需要临时更改,知道如何恢复它会很有用。按原样为我工作
$ sudo swapoff /swapfile1
$ sudo rm /swapfile1