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

Posted

技术标签:

【中文标题】致命错误:允许的内存大小为 1610612736 字节已用尽但已分配 1.75G【英文标题】:Fatal error: Allowed memory size of 1610612736 bytes exhausted but already allocated 1.75G 【发布时间】:2019-05-21 11:59:29 【问题描述】:

我不断收到此内存错误

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

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

我什至从 master 分支和我的分支中删除了任何可能导致此问题的文件差异。

PhP 版本 7.1.25 作曲家版本 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'

旧代码:

create_course_space_whitelist_expression: '"staff" in affiliations or 
"employee" in affiliations or "faculty" in affiliations or "guest" in 
affiliations

不知道还能去哪里看。我在 Vendor 中更新了两个创建的文件,但我在运行 composer install 之前删除了 vendor

编辑:

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

【问题讨论】:

我们还需要查看您正在执行的导致此错误的代码,您的代码可能存在问题,例如无限循环等。 我怎么知道是哪个代码产生了这个错误? 你没有。这就是为什么我要求发布正在为此页面运行的代码。 (例如:您的控制器、任何功能等)。 @Jonathan 我的印象是他们在运行 composer install 时遇到了这个错误,不一定来自他们编写的代码 完全是我的错,你是对的@Don'tPanic 【参考方案1】:

运行此命令为我修复了它

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

【讨论】:

windows 呢?我使用 Windows 10,这个命令对我有用, php -d memory_limit=-1 "C:\ProgramData\ComposerSetup\bin\composer.phar" update【参考方案2】:

在我的 Windows 10 中使用 Xampp

我只是改变了:

;memory_limit=512M 

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

memory_limit =-1

然后通过 xampp 重启 Apache

【讨论】:

这适用于带有 xampp 服务器的 windows 10,谢谢 很高兴帮助 stackexchange 在我的个人资料中估计为 240 万的 140 万人!!!对不起 2.4 是正确的@MohamedRaza【参考方案3】:

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

composer self-update --2

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

【讨论】:

这解决了安装 xampp 的 Windows 10 上的问题。你知道这是怎么回事吗?还是谢谢! @Mycodingproject :感谢您的评论。老实说,我不太清楚,但 Composer 似乎存在一个错误,导致运行 composer installcomposer update 耗尽内存。 只用composer self-update更新到最新版composer【参考方案4】:

窗户呢?

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

php -d memory_limit=-1 "C:\ProgramData\ComposerSetup\bin\composer.phar" update

【讨论】:

【参考方案5】:

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

【讨论】:

【参考方案6】:

在 WINDOWS 中你可以使用这个:

set COMPOSER_MEMORY_LIMIT=-1

在 Windows 10 和终端和 laragon 中它对我有用

【讨论】:

这也适用于我在 Windows 上使用 Laragon。【参考方案7】:

COMPOSER_MEMORY_LIMIT=-1 作曲家更新

试试这个对我有用

【讨论】:

以上是关于致命错误:允许的内存大小为 1610612736 字节已用尽但已分配 1.75G的主要内容,如果未能解决你的问题,请参考以下文章

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

Composer 要求内存不足。 PHP 致命错误:允许的内存大小为 1610612736 字节已用完 Voyager

PHP致命错误:允许1610612736字节作曲家更新的内存大小

php - 致命错误:允许的内存大小为 134217728 字节已用尽 [重复]

PHP致命错误:允许的内存大小为134217728字节已用尽

致命错误:允许的内存大小为 [重复]