Como atualizar o PHP para 7.4.30?

Como atualizar o PHP para 7.4.30?

A versão padrão do PHP no Ubuntu Server 20.04 é 7.4.3, quero atualizá-la para 7.4.30. Eu adicionei ppa:ondrej/php ao repositório apt, mas apt upgrade mostra que atualizará o PHP para 8.1. Como posso saber ao apt que não quero pular para o PHP 8?

Responder1

dr:

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

Explicação completa:

Como você já adicionou o ppa:ondrej/phprepositório (via sudo add-apt-repository ppa:ondrej/php), você pode usar apt-cachepara listar as versões disponíveis que podem ser instaladas e depois apt installinstalar uma versão específica.

A aptferramenta usa aliases para simplificar a instalação de aplicativos populares. Como você descobriu inadvertidamente, apt install phpagora é um alias para apt install php8.1. O repositório ondrej/php adiciona pacotes para php8.1, php8.0, e php7.4, e adiciona um alias para phpque aponte para php8.1.

Como você deseja instalar o php 7.4.30, você precisará incluir explicitamente o número da versão no apt installcomando. O apt-cachecomando listará todas as versões disponíveis. Prefiro usar apt-cache madisonporque acho a saída mais fácil de ler do que apt-cache showpkgou apt-cache policy, mas qualquer um deles fornecerá as informações necessárias - use o comando de sua preferência.

apt-cache madison php7.4

retornará algo assim:

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

As colunas estão organizadas assim:

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

aptsuporta a instalação de uma versão específica de um pacote usando a package=versionsintaxe opcional. Neste caso, a versão desejada é 1:7.4.30-5+ubuntu20.04.1+deb.sury.org+1a , que é do repositório ondrej/php.

Juntando tudo:

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

Responder2

Os mantenedores do Ubuntu incluem correções de bugs e atualizações de segurança nos pacotes oficiais. Eles mantêm a versão principal. Portanto, não há necessidade de atualizar para versões secundárias upstream.

Você pode ver que o Ubuntu 20.04 possui a 7.4.3-4ubuntu2.12versão PHP.

Você pode consultarRegistro de alterações

É um erro frequente procurar este tipo de “upgrades”.

informação relacionada