RockyLinuxでPHPをアップグレードする(8.2→8.3)

[PHPに脆弱性が発見された](https://www.ipa.go.jp/security/security-alert/2024/alert_20240705.html "PHPの脆弱性（CVE-2024-4577）を狙う攻撃について")ということなので、使用中のPHPをチェックしてみた。
```
# php -v
PHP 8.2.13 (cli) (built: Nov 21 2023 09:55:59) (NTS gcc x86_64)
Copyright (c) The PHP Group
Zend Engine v4.2.13, Copyright (c) Zend Technologies
    with Zend OPcache v8.2.13, Copyright (c), by Zend Technologies
```
上のページによると影響をうけるのが
>PHP 8.1.29より前の8.1系
PHP 8.2.20より前の8.2系
PHP 8.3.8より前の8.3系

らしいので、急遽アップグレードをすることに。
```
# dnf -y upgrade php
メタデータの期限切れの最終確認: 1:57:44 前の 2024年07月10日 11時32分36秒 に実施しました。
依存関係が解決しました。
行うべきことはありません。
完了しました!
```
ふむ…。
```
# dnf module list php
メタデータの期限切れの最終確認: 0:00:06 前の 2024年07月10日 13時32分19秒 に実施しました。
Rocky Linux 9 - AppStream
Name               Stream                Profiles                                    Summary
php                8.1                   common [d], devel, minimal                  PHP scripting language
php                8.2 [e]               common [d] [i], devel, minimal              PHP scripting language
```
ということで、8.2までしか用意されてないらしい。
[こちら](https://tech.torico-corp.com/blog/dnf%E3%81%A7php%E3%81%AE%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E3%82%92%E6%8C%87%E5%AE%9A%E3%81%97%E3%81%A6%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB%E3%81%A7%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/)のページを参考に、remiのリポジトリを
```
# dnf -y install https://rpms.remirepo.net/enterprise/remi-release-9.rpm
```
で追加してみた。
再度
```
# dnf module list php
メタデータの期限切れの最終確認: 0:20:40 前の 2024年07月10日 13時33分34秒 に実施しました。
Rocky Linux 9 - AppStream
Name               Stream                Profiles                                    Summary
php                8.1                   common [d], devel, minimal                  PHP scripting language
php                8.2 [e]               common [d] [i], devel, minimal              PHP scripting language

Remi's Modular repository for Enterprise Linux 9 - x86_64
Name               Stream                Profiles                                    Summary
php                remi-7.4              common [d], devel, minimal                  PHP scripting language
php                remi-8.0              common [d], devel, minimal                  PHP scripting language
php                remi-8.1              common [d], devel, minimal                  PHP scripting language
php                remi-8.2              common [d], devel, minimal                  PHP scripting language
php                remi-8.3              common [d], devel, minimal                  PHP scripting language

ヒント: [d]efault, [e]nabled, [x]disabled, [i]nstalled
```
remiが追加された。
```
# dnf list php83*
```
で見てみると、8.3.9が見つかったので、インストールすることにした。
```
# dnf -y module install php:remi-8.3
メタデータの期限切れの最終確認: 0:25:21 前の 2024年07月10日 13時33分34秒 に実施しました。
依存関係が解決しました。
オペレーションは、モジュール 'php' ストリーム '8.2' を ストリーム 'remi-8.3' へと切り替える結果となります
エラー: 設定オプション module_stream_switch から明示的に有効化されていない限り、モジュールの有効なストリームを切り替えることはできません。
モジュールからインストールされた全てのコンテンツを削除し、'dnf module reset <module_name>' コマンドを使用してリセットす ることが推奨されます。モジュールのリセット後、他のストリームをインストール可能です。
```
しまった、[以前](https://qiita.com/Kokusui/items/90f8594074fcd9e33d4d)にもあったやつだった。
```
# dnf -y module reset php
```
をやってから改めて
```
# dnf -y module install php:remi-8.3
```
にてインストール完了。
```
# php -v
PHP 8.3.9 (cli) (built: Jul  2 2024 14:10:14) (NTS gcc x86_64)
Copyright (c) The PHP Group
Zend Engine v4.3.9, Copyright (c) Zend Technologies
    with Zend OPcache v8.3.9, Copyright (c), by Zend Technologies
```