git 诞生日吗
在内存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
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanffibe
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
怎样阻止微信小程序自动打开
PHP中文网 06-13