您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息
三六零分类信息网 > 北海分类信息网,免费分类信息发布

Composer运行中断并显示Killed的问题

2026/1/23 16:55:29发布9次查看
在内存1gb(分配给php的最大运行内存是128mb)的linode vps上运行composer安装drupal模块,没有得到成功的提示,只是提示killed。
通过修改分配给php的运行内存把php内存由128mb提高到256mb以后,报错具体了一点:
fatal error: out of memory (allocated 754982912) (tried to allocate 33554440 bytes) in phar:///usr/local/bin/composer/src/composer/dependencyresolver/ruleset.php on line 84
加到512mb:
fatal error: out of memory (allocated 832577536) (tried to allocate 16777216 bytes) in phar:///usr/local/bin/composer/src/composer/dependencyresolver/solver.php on line 223
再加到768mb,报错又变成一句简单的killed了。
看来composer的胃口不小啊。怎么办?
1.最简单粗暴而最有效的办法就是把服务器升级,给服务器加内存。实在穷心疼钱的话,就放弃composer或者曲线救国。
2.备选方案就是给服务器分配点假的内存糊弄一下服务器,swap缓存了解一下。大伟哥这里有一篇贴子:swap问答:swap是什么?swap有什么用?swap怎么用?
大伟哥就是通过把服务器的swap缓存增加到2.5 gb解决的。当然,假的终究是假的,硬盘做的缓存,在性能上肯定是比不过真正的内存的。
3.stack overflow上还有人分享了一个方法可能有效,不过大伟哥没有试过。那就是在本地开发环境上运行composer,成功以后把composer.lock上传或者git push到生产服务器上,然后在生产服务器上运行composer install。
composer install会读取.lock文件里面的配置并直接拉取相同版本的软件包下来,而不是查找每个软件包的最新版本。这样composer对内存的需求量就会降低一些。
不过这种方法本身很麻烦,成功率又堪忧,所以能不用就不用吧。
最后,分享给大家一个不用修改php.ini配置文件,临时解禁composer运行内存限制的方法:
php -d memory_limit=-1 /usr/local/bin/composer require/isntall/update
或者:
php -d memory_limit=-1 `which composer` require/isntall/update
以上就是composer运行中断并显示killed的问题的详细内容。
北海分类信息网,免费分类信息发布

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product