¿Cómo actualizar PHP a 7.4.30?

¿Cómo actualizar PHP a 7.4.30?

La versión predeterminada de PHP en Ubuntu Server 20.04 es 7.4.3, quiero actualizarla a 7.4.30. Agregué ppa:ondrej/php al repositorio de apt, pero la actualización de apt muestra que actualizará PHP a 8.1. ¿Cómo puedo decirle a apt que no quiero pasar a PHP 8?

Respuesta1

tl;dr:

sudo apt install php7.4=1:7.4.30-5+ubuntu20.04.1+deb.sury.org+1

Explicación completa:

Como ya agregó el ppa:ondrej/phprepositorio (a través de sudo add-apt-repository ppa:ondrej/php), puede usarlo apt-cachepara enumerar las versiones disponibles que se pueden instalar y luego apt installinstalar una versión específica.

La aptherramienta utiliza alias para simplificar la instalación de aplicaciones populares. Como habrás descubierto sin darte cuenta, apt install phpahora es un alias de apt install php8.1. El repositorio ondrej/php agrega paquetes para php8.1, php8.0y php7.4, y agrega un alias para phpque apunte a php8.1.

Como desea instalar php 7.4.30, deberá incluir explícitamente el número de versión en el apt installcomando. El apt-cachecomando enumerará todas las versiones disponibles. Prefiero usar apt-cache madisonporque encuentro que el resultado es más fácil de leer que apt-cache showpkgo apt-cache policy, pero cualquiera de estos le proporcionará la información que necesita; use el comando que prefiera.

apt-cache madison php7.4

devolverá algo como esto:

php7.4 | 1:7.4.30-5+ubuntu20.04.1+deb.sury.org+1 | http://ppa.launchpad.net/ondrej/php/ubuntu focal/main amd64 Packages
php7.4 | 7.4.3-4ubuntu2.12 | http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages
php7.4 | 7.4.3-4ubuntu2.12 | http://security.ubuntu.com/ubuntu focal-security/main amd64 Packages
php7.4 | 7.4.3-4ubuntu1 | http://archive.ubuntu.com/ubuntu focal/main amd64 Packages

Las columnas están organizadas así:

<package name> | <version> | <repository>

aptadmite la instalación de una versión específica de un paquete utilizando la package=versionsintaxis opcional. En este caso, la versión deseada es 1:7.4.30-5+ubuntu20.04.1+deb.sury.org+1, que proviene del repositorio ondrej/php.

Poniendolo todo junto:

 sudo apt install php7.4=1:7.4.30-5+ubuntu20.04.1+deb.sury.org+1

Respuesta2

Los mantenedores de Ubuntu incluyen correcciones de errores y actualizaciones de seguridad en los paquetes oficiales. Mantienen la versión principal. Por lo tanto, no es necesario actualizar a versiones menores.

Puedes ver que Ubuntu 20.04 tiene la 7.4.3-4ubuntu2.12versión de PHP.

Puedes referirte aRegistro de cambios

Es un error frecuente buscar este tipo de "actualizaciones".

información relacionada