PHP 8.2 から PHP 8.3 にアップグレードするための手順を以下にまとめます。
手順 1: 現在のPHPパッケージのリストを取得
現在インストールされているPHPパッケージのリストをファイルに保存します。
rpm -qa | grep php > current_php_packages.txt
手順 2: PHP 8.3 リポジトリを有効化
必要なリポジトリをインストールし、PHP 8.3のリポジトリを有効にします。
sudo dnf install -y epel-release
sudo dnf install -y https://rpms.remirepo.net/enterprise/remi-release-9.rpm
sudo dnf module reset php
sudo dnf module enable php:remi-8.3
手順 3: 現在のパッケージを削除
保存したリストを使用して現在のPHP 8.2のパッケージを削除します。
sudo xargs dnf remove -y < current_php_packages.txt
手順 4: インストールコマンドを生成するシェルスクリプトを作成
以下のシェルスクリプトを generate_install_command.sh
という名前で保存します。
#!/bin/bash
# 現在のPHPパッケージのリストファイル
input_file="current_php_packages.txt"
# 新しいインストールコマンドの出力ファイル
output_file="install_php_packages.sh"
# 出力ファイルの初期化
echo "sudo dnf install -y \\" > $output_file
# 入力ファイルを読み込み、パッケージ名を変換して出力ファイルに追加
while IFS= read -r package
do
# パッケージ名を抽出してバージョン番号を削除
package_name=$(echo $package | sed 's/-[0-9].*//')
# プレフィックスが 'php' で始まるパッケージだけを処理
if [[ $package_name == php* ]]; then
echo " $package_name \\" >> $output_file
fi
done < "$input_file"
# 最後の行のバックスラッシュを削除
sed -i '$ s/\\//' $output_file
# スクリプトを実行可能にする
chmod +x $output_file
echo "Install command script created: $output_file"
手順 5: スクリプトを実行してインストールコマンドを生成
シェルスクリプトを実行してインストールコマンドを生成します。
bash generate_install_command.sh
手順 6: インストールコマンドを実行してPHP 8.3をインストール
生成されたインストールコマンドを実行して、PHP 8.3のパッケージをインストールします。
sudo bash install_php_packages.sh
手順 7: PHP-FPM の再起動
PHP-FPMを使用している場合は、再起動します。
sudo systemctl restart php-fpm
手順 8: PHP バージョンの確認
PHPのバージョンを確認して、アップグレードが成功したことを確認します。
php -v
手順 9: Nginxの設定確認と再起動
Nginxの設定ファイル /etc/nginx/conf.d/server.conf
を確認し、設定が正しいことを確認します。次に、Nginxを再起動します。
sudo systemctl restart nginx
手順 10: PHP情報ページの確認
PHPの設定と連携が正しく機能しているかを確認するために、ドキュメントルート(例: /var/www/html
)に info.php
を作成し、ブラウザで確認します。
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php
ブラウザで http://your_server_address/info.php
にアクセスし、PHP情報ページが表示されることを確認します。
これで、PHP 8.2からPHP 8.3へのアップグレード手順は完了です。