Instalar Composer y configurar PHP
Le explicamos cómo instalar PHP con las extensiones adecuadas, gestionar dependencias con Composer y montar una estructura de proyecto ordenada con la autocarga PSR-4.

Para la instalación de Composer, primero PHP debe estar instalado y funcionar en el terminal. En Windows, el instalador Composer-Setup.exe de getcomposer.org localiza PHP y lo añade al PATH. En macOS y Linux se descarga composer.phar con los comandos de instalación del sitio y se traslada a /usr/local/bin/composer. Si composer --version devuelve una versión, la instalación está completa; las dependencias se instalan con composer install.
Qué es Composer y para qué sirve
Composer es el gestor de dependencias de los proyectos PHP. Descarga las bibliotecas que necesita su proyecto, con sus versiones compatibles, y le permite gestionarlas desde un único archivo. Lo que npm es para JavaScript y pip para Python, Composer lo es para PHP.
La segunda gran aportación de Composer es la carga automática (autoload). En lugar de escribir decenas de líneas require, se incluye un solo archivo; las clases se cargan automáticamente en el momento en que se necesitan. Los frameworks PHP modernos como Laravel y Symfony están construidos por completo sobre Composer.
Las bibliotecas se publican en un repositorio público llamado Packagist. Composer elige de ese repositorio los paquetes adecuados según las reglas de versión de su archivo composer.json y los instala todos en la carpeta vendor.
| Archivo / carpeta | Función | ¿Se añade a Git? |
|---|---|---|
| composer.json | Dependencias, reglas de versión, ajuste de autoload | Sí |
| composer.lock | La versión exacta de cada paquete instalado | Sí (en aplicaciones) |
| vendor/ | Paquetes descargados y archivos de autoload | No |
Instalar PHP: Windows, macOS, Linux
Composer es un programa PHP; por eso primero PHP debe funcionar en la línea de comandos. Si tiene XAMPP instalado en su equipo, puede usar el PHP que incluye; los detalles están en nuestra guía de instalación de XAMPP. Si quiere instalar un PHP independiente, avance según su sistema operativo.
php -v
# Extensiones instaladas
php -m
# Archivo php.ini en uso
php --iniPHP en Windows
Descargue desde windows.php.net el zip x64 Thread Safe de la versión estable actual y descomprímalo en una carpeta corta como C:\php. Cree una copia del archivo php.ini-development de la carpeta con el nombre php.ini y añada la carpeta C:\php al PATH del sistema.
En el archivo php.ini active las extensiones que necesitan Composer y la mayoría de los paquetes, quitando el punto y coma del principio de la línea:
extension_dir = "ext"
extension=curl
extension=fileinfo
extension=mbstring
extension=openssl
extension=pdo_mysql
extension=zipPHP en macOS y Linux
En macOS basta un comando con Homebrew. En Ubuntu y Debian, instale junto con el paquete de línea de comandos de PHP las extensiones más usadas y la herramienta unzip; Composer necesita unzip o la extensión zip para descomprimir los paquetes.
brew install phpsudo apt update
sudo apt install php-cli php-mbstring php-xml php-curl php-zip unzipInstalar Composer paso a paso
En Windows, el camino más fácil es el instalador Composer-Setup.exe de getcomposer.org. El instalador localiza el php.exe de su equipo, avisa de los ajustes que faltan y añade el comando composer al PATH. Tras la instalación, cierre los terminales abiertos y vuelva a abrirlos.
En macOS y Linux, Composer se instala con el comando de cuatro líneas de la página de descarga. Uno de esos comandos verifica el resumen de seguridad (hash) del archivo descargado y cambia con cada versión; por eso copie siempre los comandos actualizados de la página oficial. La instalación crea el archivo composer.phar en la carpeta donde esté; si lo traslada a una ubicación global, podrá ejecutarlo desde cualquier lugar escribiendo composer.
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
# (línea de verificación del hash de la página oficial)
php composer-setup.php
php -r "unlink('composer-setup.php');"
# Mover para uso general
sudo mv composer.phar /usr/local/bin/composercomposer --version
composer diagnosecomposer install y comandos básicos
En un proyecto nuevo, composer init crea el composer.json con preguntas interactivas. Si ha clonado un proyecto existente, lo único que tiene que hacer es ejecutar composer install: Composer instala exactamente las versiones del archivo composer.lock.
composer require añade un paquete nuevo y actualiza composer.json y composer.lock. composer update, en cambio, sube a las versiones más recientes dentro del rango de versiones permitido; por eso debe usarse de forma consciente dentro del equipo.
- La regla de versión ^2.0 admite todas las versiones de la serie 2.x y no pasa a la 3.0.
- Comparta el archivo composer.lock; así todos los del equipo y el servidor instalan las mismas versiones.
- No añada la carpeta vendor a Git; escríbala en .gitignore.
# Crear un nuevo archivo de proyecto
composer init
# Paket ekle
composer require guzzlehttp/guzzle
# Paquete necesario solo en desarrollo
composer require --dev phpunit/phpunit
# Instalar según el archivo de bloqueo
composer install
# Actualizar versiones
composer update
composer outdated
# Desinstalar un paquete y listar
composer remove guzzlehttp/guzzle
composer showAuditoría de seguridad
Compruebe con el comando composer audit si los paquetes que usa tienen alguna vulnerabilidad conocida. El comando compara las versiones del archivo lock con bases de datos de vulnerabilidades y lista los paquetes afectados. Ejecutar esta comprobación después de cada actualización y a intervalos regulares evita que una biblioteca obsoleta ponga en riesgo su sitio.
composer auditScripts de Composer
En el campo scripts de composer.json puede escribir los comandos que más usa; por ejemplo, un script de pruebas que ejecute los tests. Estos scripts se ejecutan con composer run-script test o, abreviado, con composer test. Así todos en el equipo usan el mismo comando con los mismos parámetros y un desarrollador que se incorpore ve de un vistazo cómo se prueba el proyecto.
Autocarga PSR-4
Use Composer no solo para paquetes externos, sino también para organizar su propio código. En el estándar PSR-4, cada espacio de nombres (namespace) corresponde a una carpeta; por ejemplo, la clase App\Servis\Fatura está en el archivo src/Servis/Fatura.php.
Tras añadir el ajuste a composer.json, ejecute el comando composer dump-autoload. A partir de ahí, en el archivo de entrada del proyecto basta con incluir vendor/autoload.php.
{
"require": {
"php": ">=8.1"
},
"autoload": {
"psr-4": {
"App\\": "src/"
}
}
}<?php
require __DIR__ . '/vendor/autoload.php';
use App\Servis\Fatura;
$fatura = new Fatura();composer dump-autoloadInstalación en el servidor en producción
En el servidor en producción no hacen falta los paquetes de desarrollo, y optimizar el cargador automático ahorra tiempo en cada petición. Durante el despliegue use el comando siguiente; --no-dev deja fuera las herramientas de pruebas y --optimize-autoloader genera de antemano el mapa de clases.
Este pequeño ajuste se nota favorablemente en el tiempo de respuesta, sobre todo en proyectos con muchas clases. Tratamos este tipo de mejoras del lado del servidor como parte de nuestro trabajo de gestión de velocidad y rendimiento.
Ejecutar en local el comando composer validate antes del despliegue también es un buen hábito: comprueba los errores de escritura en composer.json y si el archivo lock está actualizado. Así se reduce la probabilidad de encontrarse en el servidor con una instalación a medias.
- La versión de PHP del servidor debe cumplir la regla php de composer.json.
- Si en local usa otra versión de PHP, puede simular la versión del servidor con el ajuste config.platform.php de composer.json.
- Para igualar los entornos al máximo, otra opción es ejecutar PHP dentro de un contenedor; véase la instalación de Docker.
composer install --no-dev --optimize-autoloaderErrores frecuentes y soluciones
La mayoría de los errores de Composer se deben a extensiones de PHP que faltan, a una versión de PHP incompatible y al límite de memoria. El comando composer diagnose detecta por sí mismo muchos problemas.
- No se reconoce el comando php: la carpeta de PHP no está en el PATH; añádala y vuelva a abrir el terminal.
- Falta la extensión openssl: active la línea extension=openssl en php.ini; compruebe con php --ini que está editando el archivo php.ini correcto.
- Falta la extensión zip y el comando unzip: en Windows active la línea extension=zip y en Linux instale los paquetes php-zip y unzip.
- Your requirements could not be resolved: el paquete no admite su versión de PHP instalada o la versión de otro paquete. Lea el requisito indicado en el mensaje de error y elija en consecuencia la versión de PHP o la del paquete.
- Allowed memory size exhausted: ejecute el comando en la forma COMPOSER_MEMORY_LIMIT=-1 composer update o aumente el valor de memory_limit en php.ini.
Siguientes pasos con Composer
La mayor parte de los proyectos PHP trabajan con una base de datos. Antes de conectar una capa de base de datos instalada con Composer, puede preparar su servidor local con nuestra guía de instalación de MySQL. Para más contenidos sobre PHP, vea la página de la etiqueta php.
Una gestión de dependencias bien instalada permite que una web corporativa o un proyecto de integración con servicios de pago y de envíos se pueda actualizar con seguridad a lo largo de los años. La plataforma de e-commerce de Aurora Yazılım también se desarrolla sin temas prediseñados, con un diseño exclusivo para cada empresa.
Preguntas frecuentes
01¿Tengo que instalar Composer por separado para cada proyecto?
No. Composer se instala una sola vez de forma global en su equipo. Cada proyecto tiene su propio composer.json y su propia carpeta vendor; los paquetes se instalan por separado de un proyecto a otro. Como Composer guarda en caché los paquetes descargados, la instalación termina antes en el segundo proyecto.
02¿Cuál es la diferencia entre composer install y composer update?
composer install instala exactamente las versiones del archivo composer.lock y no modifica el archivo lock. composer update, en cambio, busca versiones más nuevas según las reglas de versión y actualiza el archivo lock; por eso en los servidores se usa install.
03¿Se puede usar Composer en un hosting compartido?
Si su proveedor de hosting da acceso SSH, la mayoría de las veces sí. Si no hay SSH, una solución es instalar las dependencias en local con composer install --no-dev y subir la carpeta vendor mediante transferencia de archivos; asegúrese de que las versiones de PHP son compatibles.
Cuando instala PHP con las extensiones adecuadas y añade Composer al PATH, puede gestionar las dependencias con composer install en cuestión de minutos y montar una estructura de código ordenada con PSR-4. Si quiere un sistema o una aplicación web basada en PHP, a la medida de su empresa y fácil de mantener, conozca las soluciones de software a medida de Aurora Yazılım o póngase en contacto con nosotros.


