Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Para mitigar esta vulnerabilidad, se debe realizar una actualización a PHP en RHEL.

A continuación, los pasos a realizar (el servidor deberá tener salida a internet).

Primera opción: si PHP 8.1 o 8.2 están en la lista al ejecutar el paso 2

Paso 1: Verificar la versión actual. Ejecuta en la terminal lo siguiente, esto mostrará la versión instalada.

Code Block
php -v

Paso 2: Verificar las versiones disponibles.

Code Block
dnf module list php

Ejemplo de salida esperada:

Code Block
Name    Stream    Profiles           Summary
php     7.2       common [d], devel  PHP scripting language
php     7.3       common, devel      PHP scripting language
php     7.4       common, devel      PHP scripting language
php     8.0       common, devel      PHP scripting language
php     8.1       common, devel      PHP scripting language
php     8.2       common, devel      PHP scripting language

El [d] indica la versión predeterminada. Si PHP 8.1 o 8.2 están en la lista, continúa al paso 3.

Paso 3: Habilitar el módulo de la nueva versión de PHP. Si deseas instalar PHP 8.2, primero debes deshabilitar el módulo actual y luego habilitar el nuevo.

Code Block
sudo dnf module reset php -y
sudo dnf module enable php:8.2 -y

Paso 4: Instalar PHP y sus módulos. Instala PHP y los módulos necesarios.

Code Block
sudo dnf install -y php php-cli php-fpm php-mysqlnd php-xml php-curl php-mbstring php-zip php-gd php-bcmath

Paso 5: Verificar la versión instalada. Después de la instalación, confirma la nueva versión.

Code Block
php -v


Paso 6: Reiniciar servicio Apache. Si usas Apache, reinicia el demonio.

Code Block
sudo systemctl restart httpd


Segunda opción: si PHP 8.1 o 8.2 no están en la lista al ejecutar el paso 2

Paso 1: Verificar la versión actual. Ejecuta en la terminal lo siguiente, esto mostrará la versión instalada.

Code Block
php -v

Paso 2: Verificar las versiones disponibles.

Code Block
dnf module list php


Ejemplo de salida esperada:

Code Block
Name    Stream    Profiles           Summary
php     7.2       common [d], devel  PHP scripting language
php     7.3       common, devel      PHP scripting language
php     7.4       common, devel      PHP scripting language
php     8.0       common, devel      PHP scripting language

El [d] indica la versión predeterminada. Si PHP 8.1 o 8.2 no están en la lista, instala EPEL y Remi (Paso 3).

Paso 3: Habilitar Repositorio Remi (Para PHP 8.1 o 8.2). Si necesitas PHP 8.1 o 8.2, instala los repositorios EPEL y Remi.

Code Block
sudo dnf install -y epel-release
sudo dnf install -y dnf-utils
sudo dnf install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm
sudo dnf module reset php -y

Paso 4: Habilita la versión deseada.

Para PHP 8.1:

Code Block
sudo dnf module enable php:remi-8.1 -y

Para PHP 8.2:

Code Block
sudo dnf module enable php:remi-8.2 -y

Paso 5: Instalar o actualizar PHP. Ejecutar lo siguiente.

Code Block
sudo dnf install -y php php-cli php-fpm php-mysqlnd php-json php-opcache php-xml php-mbstring

Si ya tienes PHP instalado y solo deseas actualizarlo, ejecuta lo siguiente.

Code Block
sudo dnf update -y php\*

Paso 6: Verificar la nueva versión.

Code Block
php -v

Debe mostrar la versión instalada, por ejemplo:

Code Block
PHP 8.2.7 (cli) (built: Nov 14 2023 12:15:23) ( NTS )

Paso 7: Reiniciar servicio Apache. Reinicia el demonio.

Code Block
sudo systemctl restart httpd