致命错误:允许的内存大小为 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 install
或 composer 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 字节已用尽 [重复]