我试图通过运行下面的命令将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


当前回答

只需设置memory_limit,指定编写器的完整路由。Phar文件和更新,在我的情况下使用命令:

php -d memory_limit=-1 C:/wamp64/composer.phar update

其他回答

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

Windows 10;

后藤C: \ ProgramData ComposerSetup \ bin

编辑:composer.bat并在最后一行添加memory_limit=-1,如下所示。

@echo OFF
:: in case DelayedExpansion is on and a path contains ! 
setlocal DISABLEDELAYEDEXPANSION
php -d memory_limit=-1 "%~dp0composer.phar" %*

问题解决了;)

Centos 7使用:

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

在我的例子中,我的作曲家版本是1。X是回溯日期的。 版本升级到2后。X它按预期工作。

有时问题出在作曲家的内存限制上。在我的情况下,我尝试增加php内存限制,但仍然得到错误。 您可以使用COMPOSER_MEMORY_LIMIT=-1来解决这个问题。 把它用作前缀:

COMPOSER_MEMORY_LIMIT=-1 composer require the/library

以后还得再加上前缀。

希望这能有所帮助。