Php Fatal error: momory size exhausted when using composer to install user-bundle

Php Fatal error: momory size exhausted when using composer to install user-bundle

当尝试使用 composer 安装 FOSuserbundle 时,我在终端中收到以下消息:
"PHP Fatal error: Allowed memory size of 536870912 bytes exhausted (tried to allocate 79 bytes) in phar:///Users/myname/MyWebSite/composer.phar/src/Composer/ DependencyResolver/Solver.php on line 177"

我该如何解决?


编辑/更多信息

在终端输入:php -r "echo ini_get('memory_limit').PHP_EOL;"
给我以下信息:128M
而 php.ini (App/MAMP/conf/php5.4.4/php.ini) 具有以下行:memory_limit = 32M

为什么不同的值? 如何更改值以便作曲家可以安装捆绑包?

我在终端中尝试了以下操作但出现错误:php -d memory_limit=512M composer.phar/src/Composer/DependencyResolver/Solver.php
错误 ==> 无法打开输入文件:composer.phar/src/Composer/DependencyResolver/Solver.php

Composer 应该 运行 至少有 1 GB 的可用内存。如果您的机器物理安装的内存较少,您应该考虑升级或使用不同的机器 - 否则该过程将开始交换并占用大量时间,因此应该在不到一分钟内完成的事情将需要几天时间。

如果您无法提高 PHP 的内存限制,很遗憾,您运气不好。 Composer 在更新时需要一些庞大的数据结构。

我过去用简单的方法解决了这个问题:

php -d memory_limit=1G /usr/local/bin/composer update --prefer-dist --no-dev

no-dev 也可能有助于减少内存占用 - 当然是速度。