広告

WordPress:PHP8.4、Mariadb10.11に更新

IT

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

RockyLinux9.7で「WordPress環境構築「Vol-03」PHP8.4、MariaDB11.4
RockyLinux9.7のインストール記事です。なるべくコピペで設定きるようにまとめていますPHP、MariaDB、第三弾。つづく・・・

本サーバーのほうは、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以上」が必須条件になっています

必須要件
Requirements To run WordPress, it’s recommended your host supports: That’s really it. Apache or Nginx is recom

私の環境では、「サイトヘルス」➡「情報」で確認すると「PHP 8.2」「MariaDB 10.5」です

PHPバージョンの更新

現バージョンの確認

(事前に)バックアップを取る

必須ではありませんが、wp-config.php, DB, ファイル一式のバックアップが推奨されます
wp-config.phpは「cp」コマンドで簡単にコピーできます
DB や WordPressのファイル一式は、こちらでも紹介しているスクリプトでも取る事ができます

WordPress の「バックアップ・リストア」BASHスクリプト。crontab で自動バックアップ
RockyLinux9.7でバックアップサーバーを新しくしたので、バックアップ&復元スクリプトも書き直してみました。せっかくなので、最新のBASH構文をAIに聞きながらですが、本当すごいなAIは・・デバッグ方法も教えてもらいました。コードは、コピペで利用できるように投稿しています。

Remiリポジトリ追加

AppStreamの、8.3を利用する場合やすでにRemiリポジトリが設定されている場合には不要ですが
より新しいPHPバージョンにアップデートした場合には、追加しておきます
今回筆者は、8.4に更新しようと思っているので、Remiリポジトリを追加します

モジュールリスト確認

もし、404などのエラーが出てしまう場合には、一度キャッシュをクリアして再確認します

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モジュールのリセット

新しいPHPバージョンの有効化(例: 8.4)

新規インストールの場合

新規インストールで拡張機能追加(よく使うパッケージ一式)

アップグレードの場合

更新の確認

再起動

更新の確認

これで更新されたと思います
対象のWordPressへログインし、「サイトヘルス」で確認してください。

MariaDBバージョンの更新

現バージョンの確認

(事前に)バックアップを取る

PHP更新の項目でも紹介したこちらスクリプトでもバックアップは可能です

モジュールリスト確認

$ 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停止

キャッシュのクリアとmariadbモジュールのリセット

新しいモジュール(10.11)へ切り替え

設定ファイル「/etc/my.cnf.d/mariadb-server.cnf」 更新

設定ファイルのセッション名にバージョン番号(mariadb-10.5など)が含まれている場合があります
その項目下になにもない場合は、特に編集の必要はありませんが、今後追加の予定などある場合には
バージョンに合わせたセッション名に書き換えておいたほうが無難です



# 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 起動

DB 内部の更新

Apache&PHP-FPM 再起動

更新の確認

対象のWordPressへログインし、「サイトヘルス」で確認します

筆者の環境では、トラブルなく更新できました。

トラブル時、mariaDB 事前バックアップからリストアする方法

基本のリストアコマンド

リストア時の注意点

MariaDBが起動している必要があります

アップグレード失敗などで「元の10.5環境に戻す」場合

既存データとの重複に注意

--all-databases のダンプには CREATE DATABASE 文が含まれているため、同名DBが既に存在する場合は上書きされます。もし「クリーンな状態に戻したい」なら、リストア前に対象DBを削除しておくと安全です。

リストア後の確認

後日の、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’ を追加して、最適候補のパッケージのみを使用し
    ないでください)

警告メッセージに、スキップする助言があったので、一つづつやってみます

どのオプションがいいのかわかりませんが、私の環境では、最後のオプションで、先へ進み
更新できないパッケージ以外はupdate はできましたが、
これでいいのかな? -> AIさん教えて!

結論から言うと、そのままにしておくのは良くありません。システムが壊れているわけではありませんが、一部のパッケージ(gd3phpphp-gd)の更新がスキップされており、今後セキュリティアップデートなどを受け取れなくなる危険性があります。

原因

epel-next リポジトリが有効化されていることが原因です。

  • EPEL-Next は、CentOS Stream(次期RHEL)向けの先行テストリポジトリです。
  • Rocky Linux(安定版RHELクローン)でこれを有効にすると、epel-next から入ってきた新しすぎるパッケージ(libavif-1.1.1svt-av1-libs-2.3.0)が、通常の epelremi リポジトリのパッケージと競合を起こしてしまいます。

対処手順

1.epel-next の無効化と CRB の有効化:競合の原因を無効化。
競合の元になっている epel-next を無効にし、Remiに必要な crb リポジトリを有効化します。

確認方法: dnf repolist を実行し、crb があり epel-next がないことを確認します。

2.PHP 8.4 モジュールの指定:PHP 8.4 へのリセット。
PHP 8.4 モジュールを明示的に有効化し直します。
確認方法: dnf module list php を実行し、remi-8.4 の項目に [e] が付いていることを確認します。

3.キャッシュクリアと同期(distro-sync):バージョン調整。
キャッシュを破棄し、epel-next 由来の不整合パッケージを正規バージョンへダウングレード・同期させます。

4.確認:仕上げ
通常の dnf update を実行:
最後にオプションなしでシステム全体を更新します。

エラーやスキップの警告が出ずに「完了しました!」と表示されれば成功です。
作業完了後、php -v を実行して PHP 8.4.x と表示されることを確認してください。

PHP 8.4 で gd モジュールが正常に読み込まれているか確認

実行してターミナルに gd と表示されれば、モジュールは正常に読み込まれています。
さらに、JPEGやPNG、WebP、AVIFなどの画像フォーマットが有効になっているか詳しく確認したい場合は、次のコマンドを実行してください。

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さん、おかげで、正常になりました

タイトルとURLをコピーしました