Según las encuestas de W2techs, el 79% de todos los sitios web utilizan PHP como lenguaje de programación del lado del servidor. Además de eso, 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 sitios web. Algunas aplicaciones web notables se basan en PHP como WordPress, Magento E-commerce, Wikipedia, Drupal, etc.
En este momento, se lanzó la versión 8 de PHP con características y mejoras adicionales, incluidos argumentos con nombre, tipos de unión, atributos, promoción de propiedades de constructor, expresión de coincidencia, operador nulo seguro, JIT y mejoras en el sistema de tipos, manejo de errores y consistencia. .
En esta guía, aprenderá cómo instalar PHP 8 en el servidor Rocky Linux.
Requisitos
- * Un usuario con privilegios de raíz. Asegúrese de que el usuario pueda ejecutar el comando `sudo su` para obtener privilegios de root, o simplemente puede usar el usuario root.
Agregando EPEL y Remi Repositories Rocky Linux
El repositorio predeterminado de Rocky Linux proporciona paquetes de PHP, pero no para la versión de PHP 8.x. Para la versión de PHP PHP 8.x, puede instalarlo desde el repositorio de REMI.
1. Antes de agregar el repositorio REMI, debe agregar 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
Escriba 'y ' y presione 'Entrar ' para agregar el repositorio EPEL.
2. Ahora ejecute el siguiente comando para agregar el repositorio REMI para Rocky Linux 8/CentOS 8/ o RHEL 8.
sudo dnf install https://rpms.remirepo.net/enterprise/remi-release-8.rpm
Escriba 'y ' y presione 'Entrar ' de nuevo para instalar el repositorio REMI.
3. Una vez completada la instalación del repositorio EPEL y REMI, ejecute el siguiente comando para verificar la lista de repositorios disponibles en el sistema Rocky Linux.
sudo dnf repolist
Ahora asegúrese de obtener un resultado similar al que se muestra a continuación.
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 repositorio PHP 8.0 Remi
Para esta etapa, habilitará el repositorio de REMI para PHP 8.x y cambiará el módulo para PHP al repositorio de REMI, en lugar del repositorio de AppStream.
1. Antes de continuar, restablezca el flujo del módulo PHP usando el siguiente comando.
sudo dnf module reset php
Por primera vez que ejecute el comando dnf después de agregar el repositorio de Remi, se le pedirá que acepte la clave gpg del repositorio de Remi.
Escribe 'y ' y presione 'Entrar ' para agregar la clave Remi gpg.
2. Ahora verifique los módulos PHP disponibles en su sistema usando el siguiente comando.
sudo dnf module list php
Como se ve a continuación, hay 2 repositorios de flujo de PHP. El repositorio predeterminado Rocky Linux AppStream y el repositorio modular Remi. La instalación predeterminada para PHP es PHP 7.2 desde el repositorio de 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 cambie la instalación predeterminada de los paquetes PHP al repositorio de Remi PHP 8.x usando el comando.
sudo dnf module enable php:remi-8.0
Escriba 'y ' y presione 'Entrar ' para habilitar el repositorio PHP 8.x Remi, y estará listo para instalar PHP 8 en Rocky Linux.
Instalando PHP 8.0 en Rocky Linux
1. Para instalar paquetes PHP, ejecute el siguiente comando.
sudo dnf install php
Ahora escriba 'y ' y presione 'Entrar ' para instalar PHP 8x.
2. Una vez completada la instalación, verifique la versión de PHP con el siguiente comando.
php --version
Ahora asegúrese de obtener una salida PHP 8.0 similar a la siguiente.
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
Instalando 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 administración de grupos, limitación, restricción en cada grupo, etc. PHP-FPM es adecuado para sitios web con tráfico bajo y alto. Especialmente para sitios web de alto tráfico, puede usar la administración de grupos de php-fpm para mejorar la carga de rendimiento de sus sitios web.
1. Para instalar php-fpm en Rocky Linux, ejecute el siguiente comando DNF.
sudo dnf install php-fpm
Escribe 'y' y presiona 'Entrar ' para instalar paquetes php-fpm.
2. Una vez completada la instalación, inicie el servicio php-fpm y habilítelo para que se ejecute automáticamente en cada arranque con el siguiente comando.
sudo systemctl enable --now php-fpm
Ahora debería ver un resultado similar al que se muestra a continuación.
Created symlink /etc/systemd/system/multi-user.target.wants/php-fpm.service → /usr/lib/systemd/system/php-fpm.service.
3. Ahora verifique el estado del servicio php-fpm usando el siguiente comando.
sudo systemctl status php-fpm
Si su php-fpm se está ejecutando, debería ver el mensaje 'activo (en ejecución) ' como se ve a continuación. De lo contrario, podría ver un resultado como 'salido '.
? 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
Instalando Extensiones PHP
El repositorio de Remi no solo brinda la nueva versión de PHP 8.x, sino que también brinda extensiones adicionales de PHP que no están disponibles en el repositorio de AppStream, por ejemplo, php-imagick, php-mcrypt, etc.
1. Para instalar extensiones de PHP adicionales, puede usar el comando 'dnf install' y seguir por el nombre como 'php-extension ' nombre.
Ejecute el siguiente comando de muestra para instalar el módulo php-mcrypt.
sudo dnf install php-mcrypt
Escriba 'y ' y presione 'Entrar ' para instalar la extensión php-mcrype.
2. Además, para instalar múltiples extensiones de PHP, puede usar el formato como 'php-{extension1,extension2,extension3,etc} '.
Ejecute el siguiente comando de ejemplo para instalar varias extensiones PHP php-imagick, php-apcu, php-geoip, php-memcached y php-zstd.
sudo dnf install php-{imagick,apcu,geoip,memcached,zstd}
3. Después de eso, verifique todas las extensiones PHP disponibles en su sistema ejecutando el siguiente comando.
php -m
Y verá el nombre de cada módulo PHP disponible en su sistema como se muestra a continuación.
apcu
bz2
calendar
...
geoip
zlib
zstd
[Zend Modules]
Zend OPcache
Además, puede usar el 'grep ' comando para filtrar el nombre de la extensión php como se muestra a continuación.
php -m | grep imagick
Si la extensión php-imagick está disponible en su sistema, debería ver el resultado como se muestra a continuación.
imagick
De lo contrario, obtendrá el resultado en blanco.
Conclusión
¡Felicidades! ha aprendido a instalar PHP 8.x en Rocky Linux. Puede instalar PHP o PHP-FPM con las extensiones adicionales que necesite desde el repositorio de Remi. Y ahora está listo para implementar sus aplicaciones web PHP. Además, siempre verifique los requisitos de las aplicaciones web PHP que desea instalar.