Articulo de ayuda
Composer en hosting: cómo instalar dependencias PHP
Aprende a usar Composer en tu hosting para gestionar dependencias PHP: instalar Composer, composer.json, require y autoloader.
Introducción
Composer es el gestor de dependencias de PHP. Si desarrollas en PHP, es una herramienta imprescindible: te permite instalar librerías de terceros (o las tuyas) con un comando, gestionar sus versiones y mantenerlas actualizadas.
En este artículo vas a ver qué es Composer, cómo instalarlo en tu hosting y cómo usarlo en tus proyectos PHP.
Qué es Composer y para qué sirve
Composer es a PHP lo que npm a Node.js o pip a Python: un gestor de paquetes que descarga e instala las librerías que tu proyecto necesita.
Sin Composer, para usar una librería de terceros tenías que:
- Buscar la librería.
- Descargarla a mano.
- Subirla a tu proyecto.
- Repetir con cada dependencia de esa librería.
- Repetir todo cuando había una actualización.
Con Composer:
composer require mailer/mailer
Y Composer descarga la librería y todas sus dependencias, en las versiones compatibles.
[Imagen sugerida: esquema de cómo Composer gestiona las dependencias]
Composer usa Packagist, un repositorio público con más de 300.000 librerías PHP gratuitas.
¿Tu hosting tiene Composer?
Para usar Composer necesitas acceso por SSH. En los planes de hosting con cPanel de miHosting, Composer suele estar disponible.
Para comprobarlo, conéctate por SSH y escribe:
composer --version
Si te muestra la versión, Composer está disponible. Si te dice “command not found”, tendrás que instalarlo (lo veremos más abajo).
Cómo instalar Composer si no lo tienes
Si tu hosting no tiene Composer, puedes instalarlo tú mismo en tu cuenta (sin ser root):
cd ~
curl -sS https://getcomposer.org/installer | php
Esto descarga un archivo composer.phar. Para poder usar composer desde cualquier carpeta, muévelo a una ruta del PATH:
mkdir -p ~/bin
mv composer.phar ~/bin/composer
chmod +x ~/bin/composer
Asegúrate de que ~/bin está en tu PATH. Si no, añádelo a tu ~/.bashrc:
echo 'export PATH="$HOME/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
Ahora prueba:
composer --version
Conceptos básicos de Composer
| Concepto | Qué es |
|---|---|
| composer.json | Archivo que define las dependencias de tu proyecto |
| composer.lock | Archivo que fija las versiones exactas instaladas |
| vendor/ | Carpeta donde Composer pone las librerías instaladas |
| require | Comando para añadir una dependencia |
| install | Instala todo lo del composer.json |
| update | Actualiza las dependencias a versiones más recientes |
| autoloader | Código de Composer que carga automáticamente las clases |
Cómo usar Composer en tu proyecto
Paso 1: Iniciar Composer en tu proyecto
Conéctate por SSH y ve a la carpeta de tu proyecto:
cd public_html/miproyecto
composer init
Te hará algunas preguntas (nombre del proyecto, autor, etc.). Al final crea el archivo composer.json.
Paso 2: Añadir dependencias
composer require guzzlehttp/guzzle
Esto descarga la librería Guzzle (un cliente HTTP muy popular) y la añade al composer.json.
Paso 3: Usar las dependencias en tu código
Para poder usar las clases instaladas, incluye el autoloader de Composer al principio de tu PHP:
<?php
require 'vendor/autoload.php';
use GuzzleHttp\Client;
$client = new Client();
$response = $client->get('https://api.ejemplo.com');
echo $response->getBody();
Paso 4: Instalar dependencias existentes
Si clonas un proyecto que ya tiene composer.json:
composer install
Esto lee el composer.lock e instala exactamente las mismas versiones. Es lo que se hace cuando despliegas en producción.
Diferencia entre install y update
| Comando | Qué hace | Cuándo usarlo |
|---|---|---|
composer install | Instala las versiones exactas del composer.lock | En producción, al desplegar |
composer update | Busca versiones más recientes compatibles | En desarrollo, para actualizar |
En producción, usa siempre
install. Si usasupdate, puedes acabar con versiones más nuevas que no has probado y que rompan algo.
Composer y Git
Si usas Git para tu proyecto, hay una regla importante:
- Sí sube al repositorio:
composer.jsonycomposer.lock. - NO subas al repositorio: la carpeta
vendor/.
¿Por qué? Porque vendor/ puede tener miles de archivos y se puede regenerar con composer install en cualquier momento.
Por tanto, tu .gitignore debe incluir:
/vendor/
Y cuando despliegas en el hosting, ejecutas composer install para reconstruir la carpeta vendor/.
Composer y WordPress
Aunque WordPress no usa Composer de serie, muchos desarrolladores lo utilizan para:
- Gestionar plugins con paquetes como WPackagist.
- Desarrollar temas y plugins con dependencias modernas.
- Instalar WordPress con Composer (para desarrollo avanzado).
Para la mayoría de usuarios de WordPress, Composer no es necesario. Pero si desarrollas plugins o temas, te cambia la vida.
Consejos útilos
- Usa
installen producción,updateen desarrollo. Es la regla de oro. - Súbir
composer.locka Git. Es lo que garantiza que todos tengáis las mismas versiones. - No subas
vendor/a Git. Se regenera coninstall. - Ejecuta Composer con la misma versión de PHP que el servidor. Evita sorpresas de compatibilidad.
- Ten cuidado con
update. Puede actualizar a versiones que rompen tu código. Pruébalas en desarrollo primero.
Problemas frecuentes
”composer: command not found”
Composer no está instalado o no está en el PATH. Sigue los pasos de arriba para instalarlo.
Error de memoria al ejecutar Composer
Composer puede consumir mucha memoria al resolver dependencias. Puedes subir el límite así:
php -d memory_limit=1G /ruta/a/composer install
Las clases no se encuentran
Asegúrate de incluir el autoloader al principio de tu código:
require 'vendor/autoload.php';
composer install falla por versión de PHP
Algunas librerías requieren versiones modernas de PHP. Comprueba tu versión con php -v y actualiza desde cPanel si es necesario.
Tengo un proyecto existente sin Composer
Puedes empezar a usar Composer en cualquier momento. Ejecuta composer init y empieza a añadir dependencias poco a poco.
Preguntas frecuentes
¿Composer viene instalado en mi hosting?
En los planes con cPanel de miHosting, lo más probable es que sí. Compruébalo con composer --version.
¿Necesito Composer si uso WordPress?
Para la mayoría de usuarios, no. Pero si desarrollas temas o plugins, sí es muy útil.
¿Composer es gratis?
Sí, Composer y Packagist son gratuitos y de código abierto.
¿Puedo usar Composer sin SSH?
No de forma cómoda. Composer se ejecuta desde la línea de comandos. Si no tienes SSH, puedes ejecutar Composer en tu ordenador y luego subir la carpeta vendor/ por FTP.
¿Composer afecta al rendimiento de mi web?
No. Una vez instaladas las dependencias, Composer no se ejecuta en cada visita. Solo se ejecuta cuando tú lo lanzas para instalar o actualizar.
Gestiona tus dependencias PHP como un profesional
Composer es el estándar del desarrollo PHP moderno. Te permite gestionar librerías de forma limpia, segura y reproducible. Si desarrollas en PHP, usarlo te ahorra muchísimo tiempo y dolores de cabeza.
Si necesitas Composer en tu hosting de miHosting, abre un ticket desde tu panel de cliente y te indicamos cómo activarlo. Y si tu proyecto PHP necesita más recursos o flexibilidad, nuestros VPS administrados son ideales para proyectos serios.