放置している個人サーバーを開発中の Web アプリケーションのステージング環境に使おうとしたら、PHP のバージョンが古いと怒られたのでアップデートします。
現在のバージョンは PHP 8.2 で、最終的には 8.4 までバージョンを上げたいのですが、8.3 を飛び越してアップデートするのは何となくリスクかなと思ったので、8.2 から 8.3 へ、さらに 8.4 へと順に上げていこうと思います。
まずは OS の確認
AlmaLinux 9.5 ですね。(CentOS がディスコンになってから AlmaLinux を選ぶことが多くなりました。)
# cat /etc/os-release
NAME="AlmaLinux"
VERSION="9.5 (Teal Serval)"
ID="almalinux"
ID_LIKE="rhel centos fedora"
VERSION_ID="9.5"
PLATFORM_ID="platform:el9"
PRETTY_NAME="AlmaLinux 9.5 (Teal Serval)"
ANSI_COLOR="0;34"
LOGO="fedora-logo-icon"
CPE_NAME="cpe:/o:almalinux:almalinux:9::baseos"
HOME_URL="https://almalinux.org/"
DOCUMENTATION_URL="https://wiki.almalinux.org/"
BUG_REPORT_URL="https://bugs.almalinux.org/"
ALMALINUX_MANTISBT_PROJECT="AlmaLinux-9"
ALMALINUX_MANTISBT_PROJECT_VERSION="9.5"
REDHAT_SUPPORT_PRODUCT="AlmaLinux"
REDHAT_SUPPORT_PRODUCT_VERSION="9.5"
SUPPORT_END=2032-06-01
アップデート作業
手順は以下の通りです。
- Remi repo 有効化
- 現在 module を reset
- 次バージョン module enable
- dnf upgrade
この手順に従ってやっていきます。
プロダクションのサーバーだと、複数のプログラムを一括してアップデートするなんて怖くてできないのですが、個人サーバーなので dnf update で一括アップデートしてしまいます。
Remi のインストール
remiが入っているか確認
# dnf repolist | grep remi
# rpm -qa | grep remi-release
remiをインストール
# dnf install -y https://rpms.remirepo.net/enterprise/remi-release-9.rpm
モジュール確認
# dnf module list php
Remi's Modular repository for Enterprise Linux 9 - 314 kB/s | 903 kB 00:02
Safe Remi's RPM repository for Enterprise Linux 9 - 490 kB/s | 1.4 MB 00:02
Last metadata expiration check: 0:00:01 ago on Sun 08 Feb 2026 04:23:14 PM PST.
AlmaLinux 9 - AppStream
Name Stream Profiles Summary
php 8.1 common [d], devel, minimal PHP scripting language
php 8.2 [e] common [d], devel, minimal PHP scripting language
php 8.3 common [d], 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
php remi-8.4 common [d], devel, minimal PHP scripting language
php remi-8.5 common [d], devel, minimal PHP scripting language
8.2 から 8.3 へのアップデート
# php -v
PHP 8.2.25 (cli) (built: Oct 22 2024 15:12:03) (NTS gcc x86_64)
Copyright (c) The PHP Group
Zend Engine v4.2.25, Copyright (c) Zend Technologies
with Zend OPcache v8.2.25, Copyright (c), by Zend Technologies
# dnf module reset php
# dnf module enable php:remi-8.3
# dnf upgrade
# php -v
PHP 8.3.30 (cli) (built: Jan 13 2026 22:36:55) (NTS gcc x86_64)
Copyright (c) The PHP Group
Zend Engine v4.3.30, Copyright (c) Zend Technologies
with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies
8.3 から 8.4 へのアップデート
# dnf module reset php
# dnf module enable php:remi-8.4
# dnf upgrade
# php -v
PHP 8.4.17 (cli) (built: Jan 13 2026 17:17:10) (NTS gcc x86_64)
Copyright (c) The PHP Group
Built by Remi's RPM repository <https://rpms.remirepo.net/> #StandWithUkraine
Zend Engine v4.4.17, Copyright (c) Zend Technologies
with Zend OPcache v8.4.17, Copyright (c), by Zend Technologies
以上で完了。