2024年11月21日にPHP 8.4がリリースされました。
いまはPHP 8.3系を使っています。
PHP 8.4系にするにはどうしたらいいでしょうか。
PHPのマイナーバージョンアップの手順についてまとめてみました。
環境情報
バージョンアップした環境の情報は下記の通りです。
- CentOS Stream 9
- Nginx 1.27.1
- PHP 8.3.14 with Zend OPcache
(dnf moduleコマンドでインストールしたもの) - WordPress 6.7.1
- SWELL 2.13.0
バージョンアップ手順
現在インストールされているバージョンのPHP(及びその関連パッケージ)をアンインストール後に新しいバージョンのPHP(及びその関連パッケージ)をインストールします。
PHPがアンインストールされるので一時的にWordPressが動かなくなります。
(ブログが表示されなくなります)
現在の設定ファイルのバックアップ
現在の各種設定ファイルをバックアップします。
sudo cp -a /etc/php.ini{,.current}
sudo cp -a /etc/php-fpm.conf{,.current}
sudo cp -a /etc/php-fpm.d/www.conf{,.current}
それぞれ、「.current」という拡張子の付いたバックアップファイルが生成されます。
webサーバーの停止
webサーバー及びPHP-FPMを停止します。
sudo systemctl stop nginx
sudo systemctl stop php-fpm
インストール済みPHPのアンインストール
インストール済みのPHP及びその関連パッケージをアンインストールします。
sudo dnf module remove php:remi-8.3
sudo dnf module reset php
PHP 8.4のインストール
PHP 8.4及びその関連パッケージをインストールします。
sudo dnf module install php:remi-8.4
設定ファイルのリストア
STEP 4のコマンドを実行した際、設定ファイルが新規に作成されたり、既存の設定ファイルが自動的にバックアップされたりします。
これらを退避して、STEP 1でバックアップした設定ファイルを戻します。
sudo mv /etc/php-fpm.d/www.conf{,.new}
sudo mv /etc/php-fpm.d/www.conf.rpmsave /etc/php-fpm.d/www.conf
sudo mv /etc/php-fpm.conf{,.new}
sudo mv /etc/php-fpm.conf.rpmsave /etc/php-fpm.conf
.rpmsaveの拡張子を持つファイルが生成されていない場合は.currentのファイルを.confとして使ってください。
webサーバーの起動
webサーバー及びPHP-FPMを起動します。
sudo systemctl start nginx
sudo systemctl start php-fpm
以上でバージョンアップ作業は完了です。
$ php -v
PHP 8.4.1 (cli) (built: Nov 20 2024 09:48:35) (NTS gcc x86_64)
Copyright (c) The PHP Group
Built by Remi's RPM repository <https://rpms.remirepo.net/> #StandWithUkraine
Zend Engine v4.4.1, Copyright (c) Zend Technologies
with Zend OPcache v8.4.1, Copyright (c), by Zend Technologies
まとめ
設定ファイルのバックアップ及びリストアをきちんとすれば特に大きな問題は発生しないと思います。
この記事がPHPのバージョンアップを行いたい方の参考になれば幸いです。
環境によってはバージョンアップすることで不具合が発生する可能性があります。
バージョンアップはご自身の責任において実行してください。
コメント