こちらの記事では、バックアップ用サーバー用途なので、試しもかねて新しいバージョンで設定しましたが

本サーバーのほうは、WordPress本体しか更新していませんでした。
WordPress のサイトヘルスで更新の改善のメッセージがでていました。
サイトヘルスは「ダッシュボード ➡ ツール ➡ サイトヘルス」で確認できます
私の環境では、ステータスとしては「良好」ではありますがおすすめの改善が4件ありました
その中でも、「PHPのバージョン」「データベースのバージョン」は改善したほうがよさそうです
2026/09/11
下記設定で正常に、PHP8.4、Mariadb10.11 に更新できましたが
後日サーバー機の更新「sudo dnf update」で一部のパッケージが更新できない!
というエラーがでました。
AIに相談し、下記記事で改善できました
WordPress 必須条件(2026.08時点)
2026.08時点では、「PHP 8.3以上」「MariaDB 10.11以上」が必須条件になっています

私の環境では、「サイトヘルス」➡「情報」で確認すると「PHP 8.2」「MariaDB 10.5」です
PHPバージョンの更新
現バージョンの確認
php --version
(事前に)バックアップを取る
必須ではありませんが、wp-config.php, DB, ファイル一式のバックアップが推奨されます
wp-config.phpは「cp」コマンドで簡単にコピーできます
DB や WordPressのファイル一式は、こちらでも紹介しているスクリプトでも取る事ができます

Remiリポジトリ追加
AppStreamの、8.3を利用する場合やすでにRemiリポジトリが設定されている場合には不要ですが
より新しいPHPバージョンにアップデートした場合には、追加しておきます
今回筆者は、8.4に更新しようと思っているので、Remiリポジトリを追加します
## Rocky Linux 9の場合
sudo dnf install -y epel-release
sudo dnf install -y https://rpms.remirepo.net/enterprise/remi-release-9.rpm
モジュールリスト確認
dnf module list php
もし、404などのエラーが出てしまう場合には、一度キャッシュをクリアして再確認します
sudo rm -f /etc/dnf/vars/releasever
sudo dnf clean all && sudo dnf makecache
dnf module list php
Rocky Linux 9 - AppStream
Name Stream Profiles Summary
php 8.1 common [d], devel, minimal PHP scripting language
php 8.2 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
PHPモジュールのリセット
sudo dnf module reset php -y
新しいPHPバージョンの有効化(例: 8.4)
sudo dnf module enable php:remi-8.4 -y
新規インストールの場合
sudo dnf install php php-fpm -y
新規インストールで拡張機能追加(よく使うパッケージ一式)
sudo dnf install -y \
php-mysqlnd \
php-curl \
php-exif \
php-fileinfo \
php-gd \
php-imagick \
php-intl \
php-mbstring \
php-xml \
php-zip
アップグレードの場合
sudo dnf update php\* -y
更新の確認
php -v
再起動
sudo systemctl restart httpd
sudo systemctl restart php-fpm
更新の確認
これで更新されたと思います
対象のWordPressへログインし、「サイトヘルス」で確認してください。
MariaDBバージョンの更新
現バージョンの確認
mariadb --version
(事前に)バックアップを取る
sudo mysqldump -u root -p --all-databases > /path/to/backup_$(date +%Y%m%d).sql
PHP更新の項目でも紹介したこちらスクリプトでもバックアップは可能です
モジュールリスト確認
dnf module list mariadb
$ dnf module list mariadb
メタデータの期限切れの最終確認: 1:19:24 前の 2026年08月03日 10時24分16秒 に実施しました。
Rocky Linux 9 - AppStream
Name Stream Profiles Summary
mariadb 10.11 client, galera, server [d] MariaDB Module
mariadb 11.8 client, galera, server [d] MariaDB Module
MariaDB停止
sudo systemctl stop mariadb
キャッシュのクリアとmariadbモジュールのリセット
sudo dnf clean all
sudo dnf module reset mariadb -y
新しいモジュール(10.11)へ切り替え
sudo dnf module switch-to mariadb:10.11 -y
sudo dnf update mariadb-server mariadb -y ##念のためパッケージ更新も明示
mariadb --version ##10.11になっているか確認
設定ファイル「/etc/my.cnf.d/mariadb-server.cnf」 更新
設定ファイルのセッション名にバージョン番号(mariadb-10.5など)が含まれている場合があります
その項目下になにもない場合は、特に編集の必要はありませんが、今後追加の予定などある場合には
バージョンに合わせたセッション名に書き換えておいたほうが無難です
cd /etc/my.cnf.d/
sudo vi ./mariadb-server.cnf
・
・
# This group is only read by MariaDB-10.5 servers.
# If you use the same .cnf file for MariaDB of different versions,
# use this group for options that older servers don't understand
#[mariadb-10.5]
# ↓ 変更
[mariadb-10.11]
・
・
MariaDB 起動
sudo systemctl start mariadb
sudo systemctl enable mariadb
DB 内部の更新
sudo mariadb-upgrade -u root -p「DB管理者パスワード」
Apache&PHP-FPM 再起動
sudo systemctl restart php-fpm
sudo systemctl restart httpd
更新の確認
対象のWordPressへログインし、「サイトヘルス」で確認します

筆者の環境では、トラブルなく更新できました。
トラブル時、mariaDB 事前バックアップからリストアする方法
基本のリストアコマンド
sudo mariadb -u root -p < /path/to/backup_20260803.sql
リストア時の注意点
MariaDBが起動している必要があります
sudo systemctl status mariadb ##起動確認
sudo systemctl start mariadb ##停止していたら起動
アップグレード失敗などで「元の10.5環境に戻す」場合
sudo dnf module switch-to mariadb:10.5 -y
sudo dnf update mariadb-server mariadb -y ##念のためパッケージ更新も明示
mariadb --version ##10.5になっているか確認
既存データとの重複に注意
--all-databases のダンプには CREATE DATABASE 文が含まれているため、同名DBが既に存在する場合は上書きされます。もし「クリーンな状態に戻したい」なら、リストア前に対象DBを削除しておくと安全です。
##例:wordpress用DBを削除してからリストアする場合
sudo mariadb -u root -p -e "DROP DATABASE wordpress;"
sudo mariadb -u root -p < /path/to/backup_20260803.sql
リストア後の確認
sudo mariadb -u root -p -e "SHOW DATABASES;"
後日の、dnf update でエラーがでました
後日、サーバーの「dnf update」でエラーがでました
一部のパッケージが更新できない!というエラーです
- エラー:
問題 1: package gd3php-2.3.3-9.el9.remi.x86_64 from @System requires libavif.so.15()(64bit), but none of the providers can be installed- cannot install both libavif-1.1.1-2.el9.next.x86_64 from epel-next and libavif-0.11.1-5.el9.x86_64 from @System
- cannot install both libavif-1.1.1-2.el9.next.x86_64 from epel-next and libavif-0.11.1-5.el9.x86_64 from epel
- パッケージの最良アップデート候補をインストールできません libavif-0.11.1-5.el9.x86_64
- パッケージの最良アップデート候補をインストールできません gd3php-2.3.3-9.el9.remi.x86_64
- nothing provides libdav1d.so.6()(64bit) needed by libavif-0.11.1-0.x86_64 from remi-safe
問題 2: package php-gd-8.4.25-1.module_php.8.4.el9.remi.x86_64 from @System requires libgd.so.103()(64bit), but none of the providers can be installed- package gd3php-2.3.3-9.el9.remi.x86_64 from @System requires libavif.so.15()(64bit), but none of the providers can be installed
- package gd3php-2.3.3-9.el9.remi.x86_64 from remi-safe requires libavif.so.15()(64bit), but none of the providers can be installed
- package gd3php-2.3.3-8.el9.remi.x86_64 from remi-safe requires libavif.so.14()(64bit), but none of the providers can be installed
- package libavif-0.11.1-5.el9.x86_64 from @System requires libSvtAv1Enc.so.0()(64bit), but none of the providers can be installed
- package libavif-0.11.1-5.el9.x86_64 from epel requires libSvtAv1Enc.so.0()(64bit), but none of the providers can be installed
- package libavif0.10-0.10.1-2.el9.x86_64 from epel requires libSvtAv1Enc.so.0()(64bit), but none of the providers can be installed
- cannot install both svt-av1-libs-2.3.0-2.el9.next.x86_64 from epel-next and svt-av1-libs-0.9.0-1.el9.x86_64 from @System
- cannot install both svt-av1-libs-2.3.0-2.el9.next.x86_64 from epel-next and svt-av1-libs-0.9.0-1.el9.x86_64 from epel
- パッケージの最良アップデート候補をインストールできません svt-av1-libs-0.9.0-1.el9.x86_64
- パッケージの最良アップデート候補をインストールできません php-gd-8.4.25-1.module_php.8.4.el9.remi.x86_64
- nothing provides libdav1d.so.6()(64bit) needed by libavif-0.11.1-0.x86_64 from remi-safe
(競合するパッケージを置き換えるには、コマンドラインに ‘–allowerasing’ を追加してみてください
または、’–skip-broken’ を追加して、インストール不可のパッケージをスキップしてください
または、’–nobest’ を追加して、最適候補のパッケージのみを使用し
ないでください)
警告メッセージに、スキップする助言があったので、一つづつやってみます
sudo dnf update --allowerasing
sudo dnf update --skip-broken
sudo dnf update --nobest
どのオプションがいいのかわかりませんが、私の環境では、最後のオプションで、先へ進み
更新できないパッケージ以外はupdate はできましたが、
これでいいのかな? -> AIさん教えて!
結論から言うと、そのままにしておくのは良くありません。システムが壊れているわけではありませんが、一部のパッケージ(
gd3phpやphp-gd)の更新がスキップされており、今後セキュリティアップデートなどを受け取れなくなる危険性があります。
原因
epel-next リポジトリが有効化されていることが原因です。
- EPEL-Next は、CentOS Stream(次期RHEL)向けの先行テストリポジトリです。
- Rocky Linux(安定版RHELクローン)でこれを有効にすると、
epel-nextから入ってきた新しすぎるパッケージ(libavif-1.1.1やsvt-av1-libs-2.3.0)が、通常のepelやremiリポジトリのパッケージと競合を起こしてしまいます。
対処手順
1.epel-next の無効化と CRB の有効化:競合の原因を無効化。
競合の元になっている epel-next を無効にし、Remiに必要な crb リポジトリを有効化します。
sudo dnf config-manager --set-disabled epel-next
sudo dnf config-manager --set-enabled crb
確認方法: dnf repolist を実行し、crb があり epel-next がないことを確認します。
dnf repolist
2.PHP 8.4 モジュールの指定:PHP 8.4 へのリセット。
PHP 8.4 モジュールを明示的に有効化し直します。
確認方法: dnf module list php を実行し、remi-8.4 の項目に [e] が付いていることを確認します。
dnf module list php
3.キャッシュクリアと同期(distro-sync):バージョン調整。
キャッシュを破棄し、epel-next 由来の不整合パッケージを正規バージョンへダウングレード・同期させます。
sudo dnf clean all
sudo dnf distro-sync -y
4.確認:仕上げ
通常の dnf update を実行:
最後にオプションなしでシステム全体を更新します。
sudo dnf update
エラーやスキップの警告が出ずに「完了しました!」と表示されれば成功です。
作業完了後、php -v を実行して PHP 8.4.x と表示されることを確認してください。
php -v
PHP 8.4 で gd モジュールが正常に読み込まれているか確認
php -m | grep -i gd
実行してターミナルに gd と表示されれば、モジュールは正常に読み込まれています。
さらに、JPEGやPNG、WebP、AVIFなどの画像フォーマットが有効になっているか詳しく確認したい場合は、次のコマンドを実行してください。
php -r "print_r(gd_info());"
Array
(
[GD Version] => 2.3.3
[FreeType Support] => 1
[FreeType Linkage] => with freetype
[GIF Read Support] => 1
[GIF Create Support] => 1
[JPEG Support] => 1
[PNG Support] => 1
[WBMP Support] => 1
[XPM Support] => 1
[XBM Support] => 1
[WebP Support] => 1
[BMP Support] => 1
[AVIF Support] => 1
[TGA Read Support] => 1
[JIS-mapped Japanese Font Support] =>
)
AIさん、おかげで、正常になりました
