我试图通过运行下面的命令将HWIOAuthBundle添加到我的项目中。

composer require hwi/oauth-bundle php-http/guzzle6-adapter php-http/httplug-bundle

HWIOAuthBundle github: https://github.com/hwi/HWIOAuthBundle

当我试图运行作曲家要求,我得到了内存错误。

Using version ^0.6.0@dev for hwi/oauth-bundle Using version ^1.2@dev for php-http/guzzle6-adapter Using version ^1.10@dev for php-http/httplug-bundle ./composer.json has been updated Loading composer repositories with package information Updating dependencies (including require-dev) PHP Fatal error: Allowed memory size of 1610612736 bytes exhausted (tried to allocate 67108864 bytes) in phar:///usr/local/Cellar/composer/1.4.2/libexec/composer.phar/src/Composer/DependencyResolver/Solver.php on line 220 Fatal error: Allowed memory size of 1610612736 bytes exhausted (tried to allocate 67108864 bytes) in phar:///usr/local/Cellar/composer/1.4.2/libexec/composer.phar/src/Composer/DependencyResolver/Solver.php on line 220

我尝试在我的php.ini文件中设置内存限制为2G,但没有工作。我找到我的php.ini通过运行php -i | grep php.ini


当前回答

由于之前的答案都不包括set,所以我花了一点时间来弄清楚如何在Windows中做到这一点而不改变php.ini,但下面是对我有效的方法:

set COMPOSER_MEMORY_LIMIT=-1
composer require hwi/oauth-bundle php-http/guzzle6-adapter php-http/httplug-bundle

其他回答

以防你得到一个作曲家错误:

无法打开输入文件:composer

run:

php -d memory_limit=-1 /usr/local/bin/composer require ...

我使用命令COMPOSER_MEMORY_LIMIT=-1解决了这个问题

示例:COMPOSER_MEMORY_LIMIT=-1 composer requires larval/ui

在你的PHP目录中找到PHP .ini,如果xampp在xampp/PHP中 和内部php.ini文件更新内存限制:512M到2048M

运行composer dump-autoload为我解决了这个问题。

Composer 2.0预览版现已发布:https://github.com/composer/composer/releases 修正了我的问题。你可以用composer self-update来设置预览

编辑:Composer 2与内存调优发布