PHPアップデート(8.3)

PHP7.4のサポート終了から1年以上も放置状態だったので、PHP8.3にアップデートしました。

基本的には、前回PHP7.4にアップデートした際の記事「PHPアップデート」と同様です。

必要により、不具合発生時に備えてバックアップします。

1行目:任意のディレクトリにバックアップ用のディレクトリを作成
2行目:PHPの設定ファイルがあるディレクトリへ移動
3行目:必要なPHP関連ファイル等(今回は「php*」ですべて)をアーカイブ圧縮ファイルにする

1行目:「php -m」コマンドでモジュールリストを出力し、バックアップディレクトリに「php74m.txt」というファイル名に書き出し
2行目:ファイルの確認

アップデート後にリストを比較するために利用します。

WordPressのデータについてもバックアップしました。
バックアップ用にプラグイン「All-in-One WP Migration and Backup」を利用しました。

PHPのアップデートには、「EPEL」および「REMI」リポジトリが必要です。
追加されているか確認し、なければ追加します。
私の場合、既に追加済みでしたので下記のとおり確認できました。

有効なリポジトリ(「enable=1」の状態)一覧

「all」オプションを付けることで、登録されているリポジトリすべてを表示

それぞれリポジトリを追加インストールする場合

REMIリポジトリのブログによると、必要なPHPのバージョンにより管理者が有効化する必要があります。
前回使用したリポジトリ「remi-php74」を無効化し、今回PHPのバージョンを最新の8.3にアップデートするため「remi-php83」リポジトリを有効化します。

1行目:「remi-php74」リポジトリを無効化する
「yum-config-manager」が利用できない場合は、REMIリポジトリのブログにあるように「yum-utils」をインストールする必要があります。

1行目:永続的に「remi-php83」リポジトリを有効化する

1行目:アップデートの実行

1行目:バージョンを確認
2〜15行目:警告の表示
16行目:バージョン「PHP8.3.6」を確認

警告を基に色々調べると、いくつかインストールしていないパッケージがあったので追加します。

警告の表示が出なくなりました。

1行目:最初とは違う方法で確認

インストールしたバージョンの設定ファイルは、「php.ini.rpmnew」として作成されるので「diff」コマンドで違いを確認することができます。
必要な修正等をして「php.ini」にリネームします。

1行目:「diff」コマンドでファイルを比較

1行目:最初と同様にモジュールリストを別名でファイルに書き出す

1行目:「diff」コマンドでファイルの内容を比較し、「random」が追加されているのを確認

詳細は、「PHPマニュアル」を参照

1行目:「httpd」サービスをリロード

最後にブラウザで当ブログ等を確認してみました。

ブログについては、問題なく表示されています。
が、「Nagios」のグラフ表示でエラーが表示されました。

マルチバイト文字列を扱う関数で定義された定数(MB_OVERLOAD_STRING)で致命的なエラーが発生しているようです。
PHPマニュアル」では、PHP8.0で削除されたとありました。
グラフ表示するために「PNP4Nagios」を利用していましたが、更新もされていないようでそろそろ違う方法を検討する時かもしれません。

グラフでの表示はできませんが、Nagiosでの監視には影響はないので放置することとしました。
CentOS7のサポート期限も間もなくなので、そろそろ本格的にサーバ移行も考えなければ…

いいね! & シェア お願いします。

コメントは受け付けていません。