致命错误:允许的 1610612736 字节内存大小已用完但已分配 1.75G

d15*_*596 11 php memory out-of-memory composer-php

我不断收到此内存错误

PHP Fatal error:  Allowed memory size of 1610612736 bytes exhausted 
(tried to allocate 67108864 bytes) in 
phar:///usr/local/bin/composer/src/Composer/
   DependencyResolver/Solver.php on line 220
Run Code Online (Sandbox Code Playgroud)

我已经尝试了一切。已经增加了几次内存限制。我已经重新下载了 composer 和 composer.phar。我在全新安装时克隆了我的 repo,第一个成功了composer install。出于某种原因,之后的每次尝试都会导致此错误。

我什至从 master 分支和我的分支中删除了可能导致这种情况的任何文件差异。

PhP 版本 7.1.25 Composer 版本 1.7.2

我在 config.yml 文件中编辑的代码

create_course_space_whitelist_expression: '"staff" in affiliations or 
"employee" in affiliations or "faculty" in affiliations or "guest" in 
affiliations or "GR" in student_level'
Run Code Online (Sandbox Code Playgroud)

旧代码:

create_course_space_whitelist_expression: '"staff" in affiliations or 
"employee" in affiliations or "faculty" in affiliations or "guest" in 
affiliations
Run Code Online (Sandbox Code Playgroud)

不知道还有什么地方可以看。我在 Vendor 中更新了两个创建的文件,但我在运行之前删除了 vendorcomposer install

编辑:

我已经能够缩小原因。composer install使用干净版本的 repo 分支时工作正常。但是,当对 composer.json 文件进行任何更改时,它会失败

d15*_*596 29

运行此命令为我修复了它

php -d memory_limit=-1 /usr/local/bin/composer install

Run Code Online (Sandbox Code Playgroud)

  • 窗户呢?我使用 Windows 10,这个命令对我有用, php -d memory_limit=-1 "C:\ProgramData\ComposerSetup\bin\composer.phar" update (2认同)

sab*_*zdi 19

在我的情况下,Xampp 和 Windows 10

我刚刚改变:

;memory_limit=512M 
Run Code Online (Sandbox Code Playgroud)

通过注释此配置,在 php.ini 中:

memory_limit =-1
Run Code Online (Sandbox Code Playgroud)

然后通过 xampp 重新启动 Apache

在此处输入图片说明


Rav*_*ani 10

将 Composer 更新到版本 2,它将自动解决此问题。

composer self-update --2
Run Code Online (Sandbox Code Playgroud)

注意:参数--2是可选的。它只会将当前的作曲家版本升级到 2。没有它,作曲家将更新到最新版本(当前与版本 2 相同,但将来可能是 3)


sab*_*zdi 6

窗户呢?

我使用 Windows 10,这个命令对我有用,

php -d memory_limit=-1 "C:\ProgramData\ComposerSetup\bin\composer.phar" update
Run Code Online (Sandbox Code Playgroud)


Brn*_*iya 5

运行COMPOSER_MEMORY_LIMIT=-1 composer install而不是composer install