Solucionar problemas
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
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
- Composer instala un paquete global pero no encuentra su comando Comprueba que el binario global de Composer existe, obtiene su directorio real y lo añade al PATH so...
- Activar temporalmente el modo depuración de PrestaShop Obtén la excepción exacta activando temporalmente _PS_MODE_DEV_ desde el panel o defines.inc.php sin...
- Advertencia ¡Borrado de actividad en curso! en Moodle Localiza la tarea ad hoc course_delete_modules que mantiene un borrado pendiente y ejecuta el cron d...
- Aprender a depurar un error de WordPress Explica cómo leer un error fatal de WordPress, distinguir lo que demuestra de sus posibles causas y...
¿Algo no cuadra o ha cambiado? Cuéntanoslo y lo revisamos.