Composer & Symfony - Fatal error: Out of memory

Composer & Symfony - Fatal error: Out of memory

我正在 运行宁 Symfony 3.4 LTS 与作曲家。 我的网站运行良好,但是当我尝试使用 :

更新任何捆绑包时
php composer.phar update
# or
php composer.phar update symfony/symfony
# or
php composer.phar update swiftmailer/swiftmailer

我收到这个错误:

PHP Fatal error: Out of memory [...] in phar:/// [...]

下面是我已经测试过的:

..没有成功。我还能尝试什么? 顺便说一下,如果我 运行 free -m :

total used free shared buffers cached
Mem: 2002 361 1641 0 7 82
-/+ buffers/cache: 270 1732
Swap: 255 255 0

我解决了我的问题。

  • 在本地备份网站文件
  • 安装 Wamp 和 运行 服务器
  • 将内存限制增加到 2G
  • 制作composer update
  • 上传文件到生产服务器

我对作曲家及其要求感到很困惑。太疯狂了...

php -d memory_limit=-1 `which composer` update

使用此命令将作曲家更新到最新版本, composer selfupdate 然后 运行 需要命令

如本回答所述,https://github.com/composer/composer/issues/2704#issuecomment-56169024

这对我有用。

使用 symfony/flex,它嵌入了优化,可以大大减少 Composer 的内存需求

我的实时服务器上有同样的问题。

rm -R vendor/
composer install

工作正常,当 composer.json 是最新的。

之前的答案是正确的,但此类错误也可能来自为您的 windows(32 位或 64 位)安装的 PHP 版本错误,如以下主题所示:

Composer update show this error: VirtualAlloc() failed: [0x00000008]