PHP を 7.4.30 にアップグレードするにはどうすればいいですか?

PHP を 7.4.30 にアップグレードするにはどうすればいいですか?

Ubuntu Server 20.04 の PHP のデフォルト バージョンは 7.4.3 ですが、これを 7.4.30 にアップグレードしたいと考えています。ppa:ondrej/php を apt リポジトリに追加しましたが、apt アップグレードを実行すると PHP が 8.1 にアップグレードされることが示されます。PHP 8 にスキップしたくないことを apt に伝えるにはどうすればよいですか?

答え1

要約:

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

詳しい説明:

すでにppa:ondrej/phpリポジトリを追加しているので ( 経由sudo add-apt-repository ppa:ondrej/php)、 を使用してapt-cacheインストール可能な利用可能なバージョンを一覧表示し、 を使用してapt install特定のバージョンをインストールできます。

このaptツールは、一般的なアプリケーションのインストールを簡素化するためにエイリアスを使用します。 が のapt install phpエイリアスになったことに気付いたかもしれませんがapt install php8.1、 ondrej/php リポジトリはphp8.1php8.0、 、 のパッケージを追加し、を指す のphp7.4エイリアスを追加します。phpphp8.1

php 7.4.30 をインストールするため、コマンドにバージョン番号を明示的に含める必要がありますapt install。このコマンドは、使用可能なすべてのバージョンを一覧表示します。私は、またはよりも出力が読みやすいため、apt-cacheを使用することを好みますが、どちらのコマンドでも必要な情報が得られます。好みのコマンドを使用してください。apt-cache madisonapt-cache showpkgapt-cache policy

apt-cache madison php7.4

次のような結果が返されます:

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

列は次のように構成されます。

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

aptオプションの構文を使用して、パッケージの特定のバージョンをインストールすることをサポートしますpackage=version。この場合、必要なバージョンは で1:7.4.30-5+ubuntu20.04.1+deb.sury.org+1、これは ondrej/php リポジトリからのものです。

すべてを一緒に入れて:

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

答え2

Ubuntu のメンテナーは、バグ修正とセキュリティ更新を公式パッケージに含めます。彼らはメジャー バージョンを維持します。そのため、アップストリームのマイナー リリースにアップグレードする必要はありません。

Ubuntu 20.04 には PHP のバージョンがあることがわかります7.4.3-4ubuntu2.12

参照してください変更履歴

この種の「アップグレード」を探すのはよくある間違いです。

関連情報