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.