composer 报错Fatal error: Out of memory (allocated xxx) (tried to allocate xxx bytes) 内存超出问题

composer 执行 update 或者 require操作,报错Fatal error: Out of memory (allocated xxx) (tried to allocate xxx bytes) 内存超出问题 ,整蛊了我整整一天,尝试了各种方法依然报错。【解决方案在文章最后】
完整报错信息如下:
VirtualAlloc() failed: [0x00000008] ڴԴ㣬޷
VirtualFree() failed: [0x000001e7] ͼЧĵַ
VirtualAlloc() failed: [0x00000008] ڴԴ㣬޷
VirtualFree() failed: [0x000001e7] ͼЧĵַ
Fatal error: Out of memory (allocated 1421869056) (tried to allocate 4096 bytes) in phar://D:/phpStudy/PHPTutorial/php/php-7.2.1-nts/composer.phar/src/Composer/DependencyResolver/Solver.php on line 223

尝试过以下方法:
1、设置PHP内存
查看PHP设置的内存多少?
php -r “echo ini_get(‘memory_limit’);” //结果是128M
然后尝试过以下操作:
临时设置内存:php -d memory_limit=-1 “D:\phpStudy\PHPTutorial\php\php-7.2.1-nts\composer.phar\composer.phar” update

结果:仍然报错Out of memory

后面又尝试了直接修改php.ini配置文件中的memory_limit值直接改为-1

结果:仍然报错Out of memory

2、心态接近奔溃,直接把composer卸载了,重新安装了composer(心想我重装+重启电脑应该可以解决了吧)
一波骚操作过后,composer重装好了也重启了电脑,然后执行composer的update操作,居然还报错,心态完全崩溃。

心态奔溃久久不能平息。

后面继续查阅相关资料发现一个比较靠谱的解决方案:

php -d memory_limit=-1 composer.phar update --profile -vvv //composer.phar是绝对路径

首先尝试了在composer默认执行的composer.phar路径

php -d memory_limit=-1 D:\phpStudy\PHPTutorial\php\php-7.2.1-nts\composer.phar\composer.phar update --profile -vvv

结果:仍然报错Out of memory
再仔细想一下,我安装的全局composer,“D:\phpStudy\PHPTutorial\php\php-7.2.1-nts\composer.phar”这个只是默认启动的composer,然后找到composer真正的安装路径
php -d memory_limit=-1 C:\composer\composer.phar\composer.phar update --profile -vvv
带更新完后,不论执行composer的update还是require操作都没有再报错了。

【解决方案】
php -d memory_limit=-1 composer.phar update --profile -vvv //composer.phar需要composer真正的安装的绝对路径。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值