Solucionar problemas

Errores de límite de memoria en Composer y PHP

Revisado el 2 min de lectura composer memoria

Si al ejecutar composer o alguna tarea PHP, recibes errores como:

  • Check https://getcomposer.org/doc/articles/troubleshooting.md#memory-limit-errors for more info on how to handle out of memory errors
  • PHP Fatal error: Allowed memory size of XXXXXX bytes exhausted

El fatal Allowed memory size ... exhausted confirma que ese proceso alcanzó memory_limit. Comprueba primero la versión, el PHP de terminal y el valor efectivo:

composer --version
composer diagnose
php --ini
php -r 'echo ini_get("memory_limit"), PHP_EOL;'

Para una ejecución concreta, incrementa preferentemente el límite a un valor finito compatible con el plan:

COMPOSER_MEMORY_LIMIT=2G composer install
php -d memory_limit=2G script.php

La prueba puntual sin límite que documenta Composer debe incluir el comando en la misma asignación:

COMPOSER_MEMORY_LIMIT=-1 composer install

Ejecutar solo COMPOSER_MEMORY_LIMIT=-1 sin export no transmite el valor al proceso posterior. -1 elimina el límite del proceso de Composer, pero no necesariamente el de procesos externos, no aumenta la RAM ni evita los límites PMEM o NPROC de CloudLinux. Si aparece Killed, no hay un fatal PHP o el fallo persiste, revisa Uso de recursos y sus snapshots.

Antes de modificar permanentemente Seleccionar Versión PHP > Options > memory_limit, confirma mediante php --ini que el PHP de terminal carga esa configuración. Mantén un valor finito y compatible con los recursos del plan.

Instalar las dependencias previstas

Si el proyecto incluye composer.lock, composer install debe respetar esas versiones. No lo sustituyas por composer update para intentar reducir memoria: resolvería otro conjunto de dependencias. Utiliza una versión mantenida de Composer compatible con el proyecto y comprueba qué binario PHP ejecuta realmente su lanzador.

Los ejemplos de variables son para una shell compatible con Bash o Zsh; PowerShell y CMD usan otra sintaxis. Composer puede ejecutar plugins y scripts del proyecto, así que realiza la prueba en un proyecto de confianza y revisa su impacto antes de repetir una instalación en producción. Consulta la guía oficial de memoria de Composer.

También te puede ayudar

¿Algo no cuadra o ha cambiado? Cuéntanoslo y lo revisamos.