Introducción
Composer es un administrador de dependencias para PHP.
Composer instalará todos los paquetes PHP necesarios de los que depende su proyecto y los administrará por usted. Se utiliza en todos los marcos y plataformas PHP modernos, como Laravel, Symfony, Drupal y Magento 2.
Este tutorial muestra los pasos para instalar Composer en CentOS 8.
Asegúrese de haber cumplido los siguientes requisitos antes de continuar:
- Inicie sesión como usuario con privilegios de sudo.
- Tiene PHP instalado en su sistema CentOS 8.
Si no sabe cómo conectarse al servidor a través de SSH, lea la siguiente guía: Cómo conectarse a un servidor VPS de forma remota con SSH desde un terminal Linux
Instalar Composer en CentOS
Proceda de la siguiente manera para instalar Composer en CentOS 8.
Instale el paquete PHP CLI (línea de comando) y todas las demás dependencias con:
sudo dnf install php-cli php-json php-zip wget nano unzip
Una vez instalada la CLI de PHP, descargue el script de instalación de Composer:
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
El comando anterior descarga un archivo llamado composer-setup.php
en el directorio de trabajo actual.
Verifique la integridad de los datos comparando el hash del SHA-384
con el hash que se encuentra en la página Composer Public Keys /Signatures.
El siguiente wget
descarga la firma del último archivo de instalación de Composer desde la página de Composer Github y lo almacena en una variable llamada HASH
:
HASH="$(wget -q -O - https://composer.github.io/installer.sig)"
Para verificar que el script de instalación no esté dañado, ejecute el siguiente comando:
php -r "if (hash_file('SHA384', 'composer-setup.php') === '$HASH') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
Si los valores hash coinciden, se mostrará el siguiente mensaje:
Installer verified
De lo contrario, si los hashes no coinciden, verá el Installer corrupt
. Una vez que se verifique la integridad, continúe con el siguiente paso.
Ejecute el siguiente comando para instalar Composer en el /usr/local/bin
:
sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer
El comando anterior instala composer
como un comando del sistema y está disponible para todos los usuarios. La salida se verá así
All settings correct for using Composer
Downloading...
Composer (version 1.10.1) successfully installed to: /usr/local/bin/composer
Use it: php /usr/local/bin/composer
El comando anterior instala composer
como un comando del sistema (en todo el sistema) y está disponible para todos los usuarios.
Verifique la instalación imprimiendo la versión del compositor:
composer -V
Composer version 1.10.1 2020-03-13 20:34:27
En este punto, ha instalado Composer con éxito en su sistema CentOS y puede comenzar a usarlo.
Instale Composer rápidamente
Siga estos pasos para instalar rápidamente Composer en el sistema CentOS 8:
Instale PHP CLI y Zip:
sudo dnf install php-cli php-json php-zip curl unzip
Descarga Composer con curl:
curl -sS https://getcomposer.org/installer |php
Mueva el archivo Composer al directorio /usr/local/bin
:
sudo mv composer.phar /usr/local/bin/composer
Introducción a Composer
Ahora que Composer está instalado en su sistema CentOS, le mostraremos cómo usar Composer en un proyecto PHP.
Comience creando el directorio raíz del proyecto con el comando mkdir y navegue hasta él con el comando cd:
mkdir ~/my-first-composer-project
cd ~/my-first-composer-project
En este ejemplo, usaremos un paquete PHP llamado carbon para crear una aplicación de muestra que imprima la hora actual.
Ejecute el siguiente comando para inicializar un nuevo proyecto de Composer e instalar el paquete de carbono:
composer require nesbot/carbon
sing version ^2.32 for nesbot/carbon./composer.json has been created
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 4 installs, 0 updates, 0 removals
- Installing symfony/translation-contracts (v2.0.1): Downloading (connecting..Downloading (100%)
- Installing symfony/polyfill-mbstring (v1.15.0): Downloading (100%)
- Installing symfony/translation (v5.0.6): Downloading (100%)
- Installing nesbot/carbon (2.32.1): Downloading (100%)
symfony/polyfill-mbstring suggests installing ext-mbstring (For best performance)
symfony/translation suggests installing symfony/config
symfony/translation suggests installing symfony/yaml
symfony/translation suggests installing psr/log-implementation (To use logging capability in translator)
Writing lock file
Generating autoload files
3 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
Como puede ver en el resultado anterior, Composer crea un archivo llamado composer.json
y descarga carbon y todas sus dependencias.
Si enumera los directorios del proyecto con el comando ls, verá que contiene dos archivos composer.json
y composer.lock
, y un directorio de vendor
ls -l
-rw-r--r--. 1 noviello noviello 60 Mar 30 23:40 composer.json
-rw-r--r--. 1 noviello noviello 11135 Mar 30 23:40 composer.lock
drwxr-xr-x. 6 noviello noviello 4096 Mar 30 23:40 vendor
vendor
es el directorio donde se almacenan las dependencias del proyecto.- El
composer.lock
contiene una lista de todos los paquetes instalados, incluidas sus versiones. composer.json
es un archivo que describe su proyecto PHP, incluidas las dependencias PHP y otros metadatos.
Puede buscar paquetes PHP en el repositorio de Composer Packagist.
Composer tiene capacidades de carga automática, lo que le permite usar clases PHP sin la necesidad de require
o include
.
Crea un archivo llamado testing.php
:
sudo nano testing.php
Agrega el siguiente código:
<?php
require __DIR__. '/vendor/autoload.php';
use Carbon\Carbon;
printf("Now: %s", Carbon::now());
Repasemos el código línea por línea.
En la primera línea, después de abrir la etiqueta php, incluimos el vendor/autoload.php
que carga automáticamente todas las bibliotecas.
A continuación, estamos creando un alias de Carbon\Carbon
como Carbon
. La última línea imprime la hora actual utilizando el método now
Ejecute el script escribiendo:
php testing.php
La salida debería verse así:
Now: 2020-03-30 21:58:12
Más adelante, si desea actualizar sus paquetes PHP, puede ejecutar:
composer update
El comando anterior buscará versiones más recientes de los paquetes instalados y si se encuentra una versión más nueva y la restricción de la versión coincide con la especificada en composer.json
, Composer actualizará el paquete.
Loading composer repositories with package information
Updating dependencies (including require-dev)
Nothing to install or update
Generating autoload files
3 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
Conclusión
Aprendió cómo instalar Composer en su servidor CentOS 8. También le mostramos cómo usar Composer para crear un proyecto PHP básico.
Para obtener más información sobre Composer, visite la página de documentación oficial de Composer.