composer VirtualAlloc() failed: [0x00000008]内存缺少失败解决

作者:Liaodeity - 2020年10月15日

1、在使用composer install命令的时候,居然报内存错误。当我在设置成2048M内存的时候任然报错。

VirtualAlloc() failed: [0x00000008] Not enough memory resources are available to process this command.
VirtualFree() failed: [0x000001e7] Attempt to access invalid address.
Fatal error: Allowed memory size of 2147483648 bytes exhausted (tried to allocate 4096 bytes) in phar

2、在一些php32位版本(即x86)中,当个cli内存暂用不能大于2G的。所以会出现即使设置了大于2G更多的内存,但是还是会保持。

请查看自己的php版本是否64位的。在打开cmd命令行;

php -v
php -r "echo ini_get('memory_limit');"

我设置成了4G。可以设置将memory_limit设置成-1,无限制内存,开发环境可以尝试,但是正式版部署不建议。


3、如何知道需要多少内存暂用。可以使用如下命令查看。

composer install -vvv --profile

可以看出,在执行到30秒的时候,需要的内存增大,基本大于了2G。所有需要大于2G以上,可以跟进自己的占用内存实际情况调整。

顺利通过,继续友好玩耍。


注意:设置了很大内存,仍然不行的需要留意自己的php版本,建议使用64位。


本文作者: Liaodeity

本文链接: https://www.jianbaizhan.com/article/693

版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 3.0 许可协议。转载请注明出处!


 请勿发布不友善或者负能量的内容。审查将对发布广告等违规信息进行处罚!