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


当前回答

Centos 7使用:

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

其他回答

Mac php 7.4

run

php --ini

Configuration File (php.ini) Path: /usr/local/etc/php/7.4
Loaded Configuration File:         /usr/local/etc/php/7.4/php.ini
Scan for additional .ini files in: /usr/local/etc/php/7.4/conf.d
Additional .ini files parsed:      /usr/local/etc/php/7.4/conf.d/ext-opcache.ini,
/usr/local/etc/php/7.4/conf.d/php-memory-limits.ini

如果解析了额外的.ini文件: Memory_limit需要在

/usr/local/etc/php/7.4/conf.d/php-memory-limits.ini

正如Jose Seie所写,设置内存为

memory_limit = -1 or memory_limit = 1G

手册中的另一个解决方案:

Composer也尊重由componer_memory_limit环境变量定义的内存限制:

COMPOSER_MEMORY_LIMIT=-1 composer.phar <...>

或者在我的案例中

export COMPOSER_MEMORY_LIMIT=-1
composer <...>

您可以在运行Composer时使用特定的php版本

如果像我一样,由于某种原因,尽管您的计算机是64位的,但您使用的是32位的PHP,这将总是限制分配给Composer的内存数量。我是这样解决问题的:

在你的电脑上安装一个64位的php版本(比如在C:/php64中) 在composer中(在我的例子中使用cygwin)运行:

C:/php64/php.exe ../作曲家。phar更新

苹果笔记本电脑: 执行命令sudo nano ~/。bash_profile编辑bash_profile,然后在该文件中添加别名composer="COMPOSER_MEMORY_LIMIT=-1 composer",然后保存并退出。

希望这样能解决问题;编码快乐!

我使用php7.2,大小默认设置为memory_limit = 512M。 要增加大小,需要定位php.ini。

在Wamp中,它位于C:\wamp64\bin\php\php7.2.23\php.ini。请注意PHP版本,因为它是名称文件夹,在我的情况下,我有php7.2.23

在Laragon中,它位于C:\ Laragon \bin\php\php-7.2.23- win32 - vc15 -x64\php.ini中。

如果您不想允许无限的空间,您可以设置任何您方便的大小,在我的例子中,我使用memory_limit = 2G

如果希望允许无限空间,可以更改为memory_limit = -1