Composer 1 (obsoleto) y Composer 2 están preinstalados y disponibles en Web Premium, Web Business y paquetes de alojamiento en la nube. Al utilizarlos, se pueden encontrar problemas de instalación de paquetes, permisos o memoria. Para solucionarlo, siga los siguientes pasos:
Se sugiere actualizar a Composer 2

A partir de PHP 8.0, Composer 1 ya no es compatible. Si se utiliza Composer 1 para instalar paquetes en PHP 8.0+, aparecerá una sugerencia de actualizar a Composer 2. Por favor, use el comando composer2, por ejemplo:
composer2 require gumlet/php-image-resizeSi los comandos o paquetes necesarios solo están disponibles en Composer 1, puede degradar temporalmente la versión de PHP; sin embargo, por motivos de seguridad, se recomienda actualizar los scripts para adaptarlos a la última versión de PHP.
Permiso denegado (Permission denied)


Composer 1 y 2 están instalados globalmente en el servidor con versiones fijas. Ejecutar comandos que requieren permisos más altos, como composer self-update, mostrará "Permission denied". La solución es instalar Composer localmente en cada proyecto que lo necesite, consulte "Cómo instalar Composer localmente".Después de la instalación aparecerá el archivo composer.phar, y posteriormente se pueden ejecutar comandos locales en el siguiente formato:
./composer.phar [COMMAND]Por ejemplo, actualización local:./composer.phar self-update --2
Memoria agotada (Memory exhausted)
Si después de ejecutar un comando de Composer aparece un error de memoria agotada, significa que el proyecto excede el límite de memoria del plan. Se puede ejecutar con el parámetro de memoria ilimitada:
- Composer global:php -d memory_limit=-1 /usr/local/bin/composer [COMMAND]
- Composer local:php -d memory_limit=-1 composer.phar [COMMAND]
Si aún aparece el error, significa que el proyecto necesita más recursos; se puede actualizar el plan, o ejecutar el comando en la máquina local y luego subir el proyecto.
Versión requerida por las dependencias de Composer PHP
Al ejecutar Composer a través de SSH, se utiliza la versión predeterminada de PHP del plan, en lugar de la versión de PHP configurada para un sitio individual. Cambiar la versión de PHP de un sitio solo afecta la ejecución del sitio en el navegador, no la versión que usa SSH/Composer. La solución:
- Cambiar la versión de PHP del plan para que la versión predeterminada de CLI PHP cumpla con los requisitos; o
- Llamar explícitamente al binario de PHP necesario para ejecutar Composer:
/opt/alt/[php-version]/usr/bin/php /usr/local/bin/composer2 [composer-command]Reemplazar [php-version] con la versión deseada (por ejemplo, php84) y [composer-command] con el comando real.
Fuente: documentación oficial de Hostinger