Errores de límite de memoria en Composer y PHP

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

Significa que la tarea está excediendo el límite de memoria definida en la configuración de PHP, para solucionarlo podemos modificar al vuelo este valor añadiendo memory_limit=-1 a continuación del binario de php:

php -d memory_limit=-1 comando_a_ejecutar

Si el error viene durante el uso del comando "composer", podemos simplemente definir el valor de COMPOSER_MEMORY_LIMIT=-1, en la propia terminal ejecutamos:

COMPOSER_MEMORY_LIMIT=-1

Composer toma como límite de memoria el valor de COMPOSER_MEMORY_LIMIT si está definido, con la ejecución anterior le damos valor de "ilimitado" mientras tengamos la sesión abierta.

La otra opción es incrementar la memoria permanentemente, esto se puede hacer desde cPanel, sección Seleccionar Versión PHP, pestaña Options y finalmente cambiamos el valor de memory_limit.