运行composer时,当内存消耗达到1.5G时,该命令将耗尽内存。
即使通过传递显式的memory_limit
php -d memory_limit=-1 composer.phar ...
,它在1.5G内存不足。看来只是忽略了传递的参数。
当我传递一个较低的值(125m)时,它将在该限制下耗尽内存。 我的Windows机器上仍然有剩余的内存,因此这不是系统限制。
版本为1.6.5。我的php.ini内存限制设置为-1。
还有其他人遇到这种情况吗?为什么使用1.5G时composer的内存不足?
答案 0 :(得分:1)
在作曲者troubleshoot页上,您可以看到几个解决此问题的选项。
您可以在运行composer命令之前设置COMPOSER_MEMORY_LIMIT
环境变量:
COMPOSER_MEMORY_LIMIT=-1 composer.phar <...>
或者您使用命令行参数进行设置:
php -d memory_limit=-1 composer.phar <...>
如果您在php.ini文件中设置了内存限制,则该值也应由作曲家使用。您可以通过运行以下命令来查看当前的内存限制:
php -r "echo ini_get('memory_limit').PHP_EOL;"
希望它会有所帮助:)
答案 1 :(得分:1)
我为有兴趣的人找到了解决方案。
似乎Windows的php 32位版本很难限制为消耗2G的ram内存。如果您的应用程序超过2G,它将停止。
对我来说,解决方案是切换到我的PHP安装的64位版本。 64位版本的内存限制为3G。