今天执行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 永久生效,但是一般不建议这么做。