composer 内存溢出的两种解决办法

今天执行composer update命令时,又遇到了composer的经典报错:

Fatal error: Allowed memory size of 1610612736 bytes exhausted (tried to allocate 268435456 bytes) in phar:///usr/local/bin/composer/src/Composer/DependencyResolver/Solver.php on line 223

索性记录一下遇到这个错误的解决办法:

办法1:增加swap内存

mkdir /var/swap && \
dd if=/dev/zero of=/var/swap/swap_1G bs=2048 count=524288 && \
chmod 0600 /var/swap/swap_1G && \
mkswap /var/swap/swap_1G && \
swapon /var/swap/swap_1G && \
echo "/var/swap/swap_1G swap swap default 0 0" >> /etc/fstab
# 检查
free --si -h

对于低配服务器,很有必要哦。

办法2:临时关闭php内存限制

php -d memory_limit=-1 /usr/local/bin/composer update

你甚至可以修改php.ini让memory_limit=-1 永久生效,但是一般不建议这么做。

发表评论

电子邮件地址不会被公开。 必填项已用*标注