Skip to main content

PHP. Como instalar una nueva versión de PHP en un sistema basado DEB

PHP. Como instalar una nueva versión de PHP en un sistema DEB basado

Lo habitual en mis máquinas es tener varias versiones de PHP usando el paquete de XXXXXX. Cuando sale una nueva versión suelo clonar la configuración de módulos, ya que a fin de cuentas luego será la nueva versión en los sitios cuando los actualice y verifique que pueden usar la nuevas version de PHP:

Proceso de clonado de PHP a otra versión

### Obtener la lista de paquetes de la versión actual

Para obtener la lista de todos los paquetes de PHP 8.2 instalados en tu sistema Debian (Raspberry Pi), puedes usar dpkg con grep:

dpkg -l | grep php8.2 | awk '{print $2}' > php8.2-packages.txt

Esto creará un archivo php8.2-packages.txt que contiene todos los paquetes instalados relacionados con PHP 8.2.

Crear un fichero con los nombres de paquete actualizados a la nueva versión

Ahora, necesitas cambiar 'php8.2' por 'php8.3' en todos los nombres de los paquetes para preparar la instalación de la nueva versión. Puedes hacerlo con sed:

sed 's/php8.2/php8.3/g' php8.2-packages.txt > php8.3-packages.txt

Esto generará un nuevo archivo php8.3-packages.txt con los nombres de los paquetes modificados para PHP 8.3.

Script para instalar los paquetes de PHP 8.3

Ahora puedes crear un script que lea el archivo php8.3-packages.txt y use apt para instalar cada paquete. Aquí tienes un ejemplo de cómo podría ser este script:

#!/bin/bash

# Asegúrate de que el script se ejecute con privilegios de superusuario
if [ "$(id -u)" != "0" ]; then
   echo "Este script debe ser ejecutado como root" 1>&2
   exit 1
fi

# Actualiza los repositorios e instala los paquetes
apt update

while read package; do
    apt install -y $package
done < php8.3-packages.txt

Guarda este script como upgrade_to_php8.3.sh, por ejemplo.

Ejecutar el script

Antes de ejecutar el script, asegúrate de que es ejecutable:

chmod +x upgrade_to_php8.3.sh

Luego, ejecútalo como root o utilizando sudo:

sudo ./upgrade_to_php8.3.sh

Este script actualizará tus paquetes a la versión 8.3 de PHP, asegurándose de mantener las mismas extensiones y configuraciones que tenías para la versión 8.2.

Aviso

Esta documentación y su contenido, no implica que funcione en tu caso o determinados casos. También implica que tienes conocimientos sobre lo que trata, y que en cualquier caso tienes copias de seguridad. El contenido el contenido se entrega, tal y como está, sin que ello implique ningún obligación ni responsabilidad por parte de Castris

Si necesitas soporte profesional puedes contratar con Castris soporte profesional.