Php致命错误:使用composer安装用户捆绑包时内存大小耗尽

时间:2015-01-21 14:16:40

标签: php symfony composer-php fosuserbundle

在使用composer安装FOSuserbundle的过程中,我在终端中收到以下消息:
 " PHP致命错误:在phar:///Users/myname/MyWebSite/composer.phar/src/Composer/ DependencyResolver / Solver.php中,允许的内存大小为536870912字节耗尽(试图分配79个字节)在第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

2 个答案:

答案 0 :(得分:2)

我过去通过简单地解决了这个问题:

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

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

答案 1 :(得分:0)

Composer应至少运行1 GB的允许和可用内存。如果你的机器物理安装的内存较少,你应该考虑升级或使用不同的机器 - 否则这个过程将开始交换并花费大量的时间,所以应该在不到一分钟的时间内完成的工作需要数天。

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