概要
ubuntu20.04が標準サポート期間を終えたことに伴い、ondrej/phpが使えなくなった。
けど、特にエラーとか出ないので、気づくのに少々時間がかかった。
詳細
環境
vagrantでubuntu20.04の仮想マシンを作り、そこに2つのwebアプリの開発環境を入れていた。
webアプリのphpバージョンは片方が7.4、片方が8.3。
phpの複数バージョン混在には、ppa:ondrej/php を使っていた。
発端
環境が壊れたので、vagrant destroy からの vagrant up で再作成した。
再作成後、
sudo add-apt-repository ppa:ondrej/php
からの
sudo apt install php8.3
結果は
~$ sudo apt install php8.3
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package php8.3
E: Couldn't find any package by glob 'php8.3'
~$
一方、7.4はインストールできた。
原因
sudo add-apt-repository ppa:ondrej/php
の出力結果の最初にも、https://launchpad.net/~ondrej/+archive/ubuntu/php にも、
Co-installable PHP versions: PHP 5.6, PHP 7.x, PHP 8.x and most requested extensions are included. Packages are provided for Current Ubuntu LTS releases (https://wiki.ubuntu.com/Releases). Expanded Security Maintenance releases ARE NOT supported.
雑な訳:セキュリティメンテナンス有効なubuntuのみサポートするよ!
とあります。
そしてubuntuのバージョン一覧を見ると
上記は状況証拠ですが、確証はないのかと探したところ、githubにissueがありました。
https://github.com/oerdnj/deb.sury.org/issues/2243
雑な訳:2025.05.29でubuntu20.04は標準サポート終了。それに伴い、ondrej/phpは速やかにubuntu20.04向けのパッケージを削除します。
対応
ondrej/phpを使いたいならubuntu22か24にするしかない。
ubuntu20.04では新たにインストールはできないが、環境構築済みのマシンはそのまま使える。
ちなみに
php7.4が入れられたのは、たまたま標準で入れられるバージョンだったからでした。
ポエム
説明の最初に書いてると言われればそれまでだけど、エラーメッセージくらい出してほしかったなと。
最初は通信エラーとかかと思ったよ(´・ω・`)
