我们在使用 composer update xxx 更新 php 包时或者使用 composer require xxx 下载 php 包时,当composer包过大或者电脑内存太小的时候会就出现内存超出,内存溢出异常 Allowed memory size of xxx 如下
PHP Fatal error: Allowed memory size of 1610612736 bytes exhausted (tried to allocate 4096 bytes) in phar:///usr/bin/composer/src/Composer/DependencyResolver/Solver.php on line 223
Fatal error: Allowed memory size of 1610612736 bytes exhausted (tried to allocate 4096 bytes) in phar:///usr/bin/composer/src/Composer/DependencyResolver/Solver.php on line 223
特别是 composer 1.x 版本特别容易出现建议升级 composer 2.x 版本。
composer内存超出解决方案
- 升级composer为v2.x版本
定义环境变量COMPOSER_MEMORY_LIMIT (推荐)
COMPOSER_MEMORY_LIMIT=-1 composer <...>
使用命令行参数模式 (推荐)
php -d memory_limit=-1 composer.phar <...>
修改php配置参数 (不推荐)
memory_limit = -1
使用以上三种 任意一种 方案可以完美解决 composer 内存超出 Allowed memory size of xx 异常。
评论已关闭