Composer运行中断并显示Killed怎么办

这篇文章给大家分享的是有关Composer运行中断并显示Killed怎么办的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

遵义网站建设公司成都创新互联公司,遵义网站设计制作,有大型网站制作公司丰富经验。已为遵义近1000家提供企业网站建设服务。企业网站搭建\成都外贸网站制作要多少钱,请找那个售后服务好的遵义做网站的公司定做!

在内存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怎么办”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!


本文名称:Composer运行中断并显示Killed怎么办
浏览路径:http://ybzwz.com/article/psjegp.html