FreeBSD13.2 : PHP を 8.1 → 8.2 に上げる。

またまたやってきました、嫌な主要プログラム関係のメンテナンス作業が。

少し前から、毎日届くセキュリティーレポートに、FreeBSDのPHPパッケージのデフォルトバージョンが 8.1 から 8.2 に代わって、2024/11/26 で8.1は終了となる という意味の文面が含まれるようになっていきました。
/usr/ports/UPDATING には以下のような文面が含まれていました。

20231125:
AFFECTS: users of lang/php81
AUTHOR: bofh@FreeBSD.org

The default version of PHP has been switched from 8.1 to 8.2.

個人的にはFreeBSD ports のPHPバージョンが何でも構いません。PHPを使いたくてインストールしているわけじゃなくて、WordPress の動作に必要だから入れているだけですから。

これまた、毎日この文面が届くというのも嫌なので、先日 FreeBSDカーネルに脆弱性が見つかったものの、(あまりリブートしたくない)Webサーバーだけパッチ適用がまだだったので、OSパッチとPHPパッケージをまとめてメンテナンスすることにしました。

更新が必要なPHP8.1とモジュールは以下の通り。

mod_php81-8.1.27: Tag: expiration_date Value: 2024-11-26
php81-8.1.27: Tag: expiration_date Value: 2024-11-26
php81-bz2-8.1.27: Tag: expiration_date Value: 2024-11-26
php81-ctype-8.1.27: Tag: expiration_date Value: 2024-11-26
php81-curl-8.1.27: Tag: expiration_date Value: 2024-11-26
php81-dom-8.1.27: Tag: expiration_date Value: 2024-11-26
php81-exif-8.1.27: Tag: expiration_date Value: 2024-11-26
php81-fileinfo-8.1.27: Tag: expiration_date Value: 2024-11-26
php81-filter-8.1.27: Tag: expiration_date Value: 2024-11-26
php81-ftp-8.1.27: Tag: expiration_date Value: 2024-11-26
php81-gd-8.1.27: Tag: expiration_date Value: 2024-11-26
php81-iconv-8.1.27: Tag: expiration_date Value: 2024-11-26
php81-mbstring-8.1.27: Tag: expiration_date Value: 2024-11-26
php81-mysqli-8.1.27: Tag: expiration_date Value: 2024-11-26
php81-session-8.1.27: Tag: expiration_date Value: 2024-11-26
php81-simplexml-8.1.27: Tag: expiration_date Value: 2024-11-26
php81-tokenizer-8.1.27: Tag: expiration_date Value: 2024-11-26
php81-xml-8.1.27: Tag: expiration_date Value: 2024-11-26
php81-xmlwriter-8.1.27: Tag: expiration_date Value: 2024-11-26
php81-zip-8.1.27: Tag: expiration_date Value: 2024-11-26
php81-zlib-8.1.27: Tag: expiration_date Value: 2024-11-26

Apacheを止めた後、/usr/ports/UPDATING にある通り、php8.1 関連パッケージをまとめて削除。

pkg delete \*php81\*

私のサーバーの場合表示されたパッケージは以下。

mod_php81-8.1.27
php81-8.1.27
php81-bz2-8.1.27
php81-ctype-8.1.27
php81-curl-8.1.27
php81-dom-8.1.27
php81-exif-8.1.27
php81-fileinfo-8.1.27
php81-filter-8.1.27
php81-ftp-8.1.27
php81-gd-8.1.27
php81-iconv-8.1.27
php81-mbstring-8.1.27
php81-mysqli-8.1.27
php81-session-8.1.27
php81-simplexml-8.1.27
php81-tokenizer-8.1.27
php81-xml-8.1.27
php81-xmlwriter-8.1.27
php81-zip-8.1.27
php81-zlib-8.1.27
phpMyAdmin5-php81-5.2.1_1

以上のリストの 81 部分を 82 に置き換えて、pkg コマンドを発行すれば作業は完了。

例)

pkg install php82 mod_php82 phpMyAdmin5-php82
pkg install -y php82-curl php82-dom php82-exif php82-fileinfo php82-ftp php82-simplexml php82-tokenizer

1行目で大物PHP関連モジュールを入れて、2行目でインストール漏れしたPHP8.2拡張モジュールをインストール。

ここまでの作業は簡単。怖いのは、PHPのバージョンを変えることにより動作が変化すること。これは1週間くらい使ってみないと出てこない。まず、WordPress 配布サイトをチェックし、特にPHP8.2に関する不具合はないことを確認。問題なさそうなので、上げたわけです。

実際、不具合には気づいていません。問題ないのかもしれませんが、そう甘くは無いという気もします。1,2週間のモニターは必要です。

以上で、バージョンはパッチにかかわる更新終了。

そうそう、FreeBSDにパッチを当てた(freebsd-update fetch install)ことで、ntpd.leap-seconds.list ファイルも更新されていました。

コメントを残す