Cómo instalar el último PHP 8 en Rocky Linux

Según las encuestas de W2techs, hay un 79% de todos los sitios web que utilizan PHP como lenguaje de programación del lado del servidor. Además, hay un 67% de sitios web que utilizan la versión 7 de PHP, después de 4 años de su lanzamiento inicial. PHP es uno de los lenguajes de programación del lado del servidor más populares para los sitios web. Algunas aplicaciones web notables se basan en PHP como WordPress, Magento E-commerce, Wikipedia, Drupal, etc.

En este momento, la versión 8 de PHP ha sido lanzada con características y mejoras adicionales, incluyendo argumentos con nombre, tipos de unión, atributos, promoción de propiedades del constructor, expresión de coincidencia, operador nullsafe, JIT, y mejoras en el sistema de tipos, manejo de errores y consistencia.

En esta guía, aprenderás a instalar PHP 8 en el servidor Rocky Linux.

Requisitos previos

  • * Un usuario con privilegios de root. Asegúrate de que el usuario puede ejecutar el comando `sudo su` para obtener el privilegio de root, o puedes utilizar simplemente el usuario root.

Añadir los repositorios EPEL y Remi Rocky Linux

El repositorio por defecto de Rocky Linux proporciona paquetes PHP, pero no para la versión PHP 8.x. Para la versión PHP 8.x, puedes instalarla desde el repositorio REMI.

1. Antes de añadir el repositorio REMI, debes añadir el repositorio EPEL (Extra Packages for Enterprise Linux) ejecutando el siguiente comando.

sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

Escribe‘y‘ y pulsa‘Enter’ para añadir el repositorio EPEL.

Instalar el repositorio EPEL Rocky Linux

2. Ahora ejecuta el siguiente comando para añadir el repositorio REMI para Rocky Linux 8 / CentOS 8/ o RHEL 8.

sudo dnf install https://rpms.remirepo.net/enterprise/remi-release-8.rpm

Escribey’ y pulsaEnter’ de nuevo para instalar el repositorio REMI.

Instalar el repositorio Remi Rocky Linux

3. Una vez completada la instalación de los repositorios EPEL y REMI, ejecuta el siguiente comando para verificar la lista de repositorios disponibles en el sistema Rocky Linux.

sudo dnf repolist

Ahora asegúrate de que obtienes una salida similar a la de abajo.

repo id                   repo name
appstream                 Rocky Linux 8 - AppStream
baseos                    Rocky Linux 8 - BaseOS
epel                      Extra Packages for Enterprise Linux 8 - x86_64
epel-modular              Extra Packages for Enterprise Linux Modular 8 - x86_64
extras                    Rocky Linux 8 - Extras
remi-modular              Remi's Modular repository for Enterprise Linux 8 - x86_64
remi-safe                 Safe Remi's RPM repository for Enterprise Linux 8 - x86_64

Habilitar el repositorio Remi de PHP 8.0

Para esta etapa, vas a habilitar el repositorio REMI para PHP 8.x y cambiar el módulo para PHP al repositorio REMI, en lugar del repositorio AppStream.

1. Antes de proceder, restablece el flujo de módulos de PHP mediante el siguiente comando.

sudo dnf module reset php

La primera vez que ejecutes el comando dnf después de añadir el repositorio Remi, se te pedirá que aceptes la clave gpg del repositorio Remi.

Escribe ‘y‘ y pulsa‘Enter’ para añadir la clave gpg de Remi.

Acepta la clave gpg del repositorio Remi

2. Ahora comprueba los módulos PHP disponibles en tu sistema utilizando el siguiente comando.

sudo dnf module list php

Como se ve a continuación, hay 2 repositorios de PHP stream. El repositorio Rocky Linux AppStream por defecto y el repositorio modular Remi. La instalación por defecto de PHP es PHP 7.2 del repositorio AppStream.

Rocky Linux 8 - AppStream
Name                  Stream                        Profiles                            Summary                        
php                   7.2 [d]              common [d], devel, minimal            PHP scripting language                
php                   7.3                  common [d], devel, minimal            PHP scripting language                
php                   7.4                  common [d], devel, minimal            PHP scripting language                

Remi's Modular repository for Enterprise Linux 8 - x86_64
Name                  Stream                        Profiles                            Summary                        
php                   remi-7.2             common [d], devel, minimal            PHP scripting language
php                   remi-7.3             common [d], devel, minimal            PHP scripting language
php                   remi-7.4             common [d], devel, minimal            PHP scripting language                
php                   remi-8.0 [e]         common [d], devel, minimal            PHP scripting language

Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled

3. Ahora cambia la instalación por defecto de los paquetes PHP al repositorio Remi PHP 8.x utilizando el comando

sudo dnf module enable php:remi-8.0

Escribe‘y‘ y pulsa‘Enter‘ para activar el repositorio Remi de PHP 8.x, y ya estás listo para instalar el PHP 8 en Rocky Linux.

Activar el repositorio de PHP 8.0

Instalación de PHP 8.0 en Rocky Linux

1. Para instalar los paquetes PHP, ejecuta el siguiente comando.

sudo dnf install php

Ahora escribe‘y‘ y pulsa‘Enter‘ para instalar PHP 8x.

Instalar PHP 8.0 Rocky Linux

2. Una vez completada la instalación, verifica la versión de PHP con el siguiente comando.

php --version

Ahora asegúrate de que obtienes una salida similar a la de PHP 8.0 que aparece a continuación.

PHP 8.0.9 (cli) (built: Jul 29 2021 12:53:58) ( NTS gcc x86_64 )
Copyright (c) The PHP Group
Zend Engine v4.0.9, Copyright (c) Zend Technologies
    with Zend OPcache v8.0.9, Copyright (c), by Zend Technologies

Instalación de PHP-FPM 8.0 en Rocky Linux

Un PHP-FPM (FastCGI Process Manager) es una alternativa y la implementación más popular de PHP FastCGI. Viene con características adicionales como la gestión de pools, la limitación, la restricción en cada pool, etc. PHP-FPM es adecuado para sitios web con poco o mucho tráfico. Especialmente para los sitios web de alto tráfico, puedes utilizar la gestión de pool de php-fpm para mejorar la carga de rendimiento de tus sitios web.

1. Para instalar php-fpm en Rocky Linux, ejecuta el siguiente comando DNF.

sudo dnf install php-fpm

Escribe ‘y’ y pulsa‘Enter’ para instalar los paquetes php-fpm.

2. Una vez completada la instalación, inicia el servicio php-fpm y habilítalo para que se ejecute automáticamente en cada arranque mediante el siguiente comando.

sudo systemctl enable --now php-fpm

Ahora deberías ver una salida similar a la de abajo.

Created symlink /etc/systemd/system/multi-user.target.wants/php-fpm.service → /usr/lib/systemd/system/php-fpm.service.

3. Ahora comprueba el estado del servicio php-fpm utilizando el siguiente comando.

sudo systemctl status php-fpm

Si tu php-fpm se está ejecutando, deberías ver«activo (en ejecución)» como se ve a continuación. De lo contrario, podrías ver la salida como ‘exited‘.

? php-fpm.service - The PHP FastCGI Process Manager
   Loaded: loaded (/usr/lib/systemd/system/php-fpm.service; enabled; vendor preset: disabled)
   Active: active (running) since Mon 2021-08-02 07:58:33 UTC; 8s ago
 Main PID: 3964 (php-fpm)
   Status: "Ready to handle connections"
    Tasks: 6 (limit: 11156)
   Memory: 12.8M
   CGroup: /system.slice/php-fpm.service
           ??3964 php-fpm: master process (/etc/php-fpm.conf)
           ??3965 php-fpm: pool www
           ??3966 php-fpm: pool www
           ??3967 php-fpm: pool www
           ??3968 php-fpm: pool www
           ??3969 php-fpm: pool www

Instalar extensiones de PHP

El repositorio Remi no sólo proporciona la nueva versión de PHP 8.x, sino que también proporciona extensiones adicionales de PHP que no están disponibles en el repositorio AppStream, por ejemplo, php-imagick, php-mcrypt, etc.

1. Para instalar extensiones adicionales de PHP, puedes utilizar el comando ‘dnf install’ y seguir por el nombre como ‘php-extension‘.

Ejecuta el siguiente comando de ejemplo para instalar el módulo php-mcrypt.

sudo dnf install php-mcrypt

Escribe‘y‘ y pulsa‘Enter’ para instalar la extensión php-mcrype.

Instalar extensiones PHP

2. Además, para instalar varias extensiones de PHP, puedes utilizar el formato‘php-{extensión1,extensión2,extensión3,etc}‘.

Ejecuta el comando de ejemplo siguiente para instalar varias extensiones de PHP php-imagick, php-apcu, php-geoip, php-memcached y php-zstd.

sudo dnf install php-{imagick,apcu,geoip,memcached,zstd}

3. Después, verifica todas las extensiones PHP disponibles en tu sistema ejecutando el siguiente comando.

php -m

Y verás el nombre de cada módulo PHP disponible en tu sistema como se indica a continuación.

apcu
bz2
calendar

...

geoip
zlib
zstd

[Zend Modules]
Zend OPcache

Además, puedes utilizar el comando‘grep’ para filtrar el nombre de la extensión php como se indica a continuación.

php -m | grep imagick

Si la extensión php-imagick está disponible en tu sistema, deberías ver el resultado que aparece a continuación.

imagick

De lo contrario, obtendrás el resultado en blanco.

Conclusión

Enhorabuena! has aprendido a instalar PHP 8.x en Rocky Linux. Puedes instalar PHP o PHP-FPM con las extensiones adicionales que necesites desde el repositorio Remi. Y ahora estás listo para desplegar tus aplicaciones web PHP. Además, comprueba siempre los requisitos de las aplicaciones web PHP que quieras instalar.

También te podría gustar...