Migración de PHP-FPM de la versión 8.2 a 8.4 en entornos Linux (Debian/Ubuntu) y restauración del servicio phpsessionclean

Artículos Guías Manuales Sistemas Linux Windows Redes MySql Binario 0 Binario Cero Artículos Guías Manuales Sistemas Linux Windows Redes MySql Binario 0 Binario Cero

En entornos de producción, es común actualizar el motor de PHP para beneficiarse de nuevas funcionalidades, mejoras de rendimiento y parches de seguridad. Sin embargo, al migrar de PHP 8.2-FPM a PHP 8.4-FPM, pueden quedar residuos de configuración o servicios huérfanos, como el antiguo servicio php8.2-fpm, e incluso deshabilitarse utilidades como phpsessionclean encargadas de limpiar sesiones caducadas.

Este documento describe los pasos para:

  • Deshabilitar y eliminar PHP 8.2-FPM.
  • Configurar y verificar PHP 8.4-FPM como versión activa.
  • Restaurar y habilitar phpsessionclean.
  • Verificar que no existen referencias obsoletas a PHP 8.2.

Verificación de versiones instaladas

Antes de iniciar la limpieza, verificar qué versiones de PHP están presentes en el sistema:

service php
php8.2-fpm       php8.4-fpm       phpsessionclean

También se recomienda revisar los unit files de systemd:

systemctl list-unit-files | grep php

Eliminación de referencias a PHP 8.2-FPM

Si php8.2-fpm no está cargado como servicio nativo systemd pero sigue apareciendo en el sistema, suele deberse a que aún existe un script SysV en /etc/init.d/.

1 Eliminar enlaces SysV

sudo update-rc.d -f php8.2-fpm remove

2 Enmascarar la unidad para evitar activaciones accidentales

sudo systemctl mask php8.2-fpm

3 (Opcional) Purgar el paquete

sudo apt purge -y php8.2-fpm
sudo apt autoremove -y

Revisión de configuración en Nginx o Apache

Es imprescindible que todas las referencias al socket de PHP apunten a la versión 8.4:

grep -R "php8\.2" /etc/nginx/sites-enabled/ /etc/apache2/sites-enabled/ /etc/php/ -n

Si se encuentra:

fastcgi_pass unix:/run/php/php8.2-fpm.sock;

debe cambiarse por:

fastcgi_pass unix:/run/php/php8.4-fpm.sock;

Recargar el servicio web:

# Nginx
sudo nginx -t && sudo systemctl reload nginx

# Apache
sudo apachectl configtest && sudo systemctl reload apache2

Restauración de phpsessionclean

El servicio phpsessionclean se encarga de eliminar sesiones PHP caducadas y suele instalarse junto con php-common o phpX.Y-common.

1 Comprobar si existe como systemd timer

systemctl list-unit-files | grep phpsessionclean

Si existe, habilitarlo:

sudo systemctl enable --now phpsessionclean.timer

Forzar una ejecución manual:

sudo systemctl start phpsessionclean.service

2 Reinstalar el paquete si no existe

En sistemas con PHP 8.4 desde Sury o repos oficiales de Ubuntu/Debian:

sudo apt install --reinstall -y php8.4-common

o

sudo apt install --reinstall -y php-common

6. Verificación final

Comprobar servicios activos:

service php

Debería aparecer:

php8.4-fpm       phpsessionclean

Comprobar estado de PHP 8.4-FPM:

systemctl status php8.4-fpm

Comprobar el timer de limpieza de sesiones:

systemctl status phpsessionclean.timer

7. Conclusiones

Migrar de PHP 8.2-FPM a 8.4-FPM requiere más que instalar la nueva versión; es esencial limpiar restos de la anterior para evitar conflictos, así como asegurarse de que los servicios auxiliares como phpsessionclean continúan activos.

Siguiendo este procedimiento:

  • Eliminamos residuos de PHP 8.2.
  • Configuramos PHP 8.4 como versión activa en el servidor web.
  • Restauramos y habilitamos el servicio de limpieza de sesiones.
  • Garantizamos un entorno más limpio y estable en producción.

Compartir:

Binario 0
Resumen de privacidad

Esta web utiliza cookies para que podamos ofrecerte la mejor experiencia de usuario posible. La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves a nuestra web o ayudar a nuestro equipo a comprender qué secciones de la web encuentras más interesantes y útiles.