はじめに
本記事の目的
PHP移行手順
PHPアップグレード順
- PHP 7.3 → PHP 7.4
- PHP 7.4 → PHP 8.0
- PHP 8.0 → PHP 8.1
- PHP 8.1 → PHP 8.2
移行に利用したツール
- Visual Studio Code (version 1.89.1)
- Mamp (version 6.6)
- Smartgit (version 23.1.3)
- Filezilla (version 3.67.0)
- Termius (version 8.11.0)
移行プロセス
- ローカル環境でのテスト(マイグレーションでソースコードを確認)
- ステージング環境でのテスト(マイグレーション前後機能を操作確認)
- 本番環境へのデプロイ(マイグレーション後ウェブアプリケーションを展開)
まとめ
はじめに
Amazon Linux 2023はPHP 8.0以上をサポートしているため、PHP 7.3で開発したウェブアプリケーションをPHP 8.2へアップグレードする必要があります。他の開発者も同じ問題を抱えているかもしれませんので、この記事では私がPHPのアップグレードに対するアプローチ方法を紹介したいと思います。
PHP移行手順
PHPアップグレード順
1. PHP 7.3 → PHP 7.4
下記のイメージで各コマンドは次のバージョンの互換性がないとろこをソースコードですべて洗い出して対応します。Memo列にその変数及びファンクションをどのように対応すべきか追記します。
2. PHP 7.4 → PHP 8.0
7.4から8.0へ移行する作業も同じようにすべて洗い出して修正すべきコードも追記します。
3.PHP 8.0 → PHP 8.1
8.0から8.1へ移行する作業も同じようにすべて洗い出して今回は変数のところは修正すべきことでした。
4. PHP 8.1 → PHP 8.2
8.1から8.2へ移行する作業も同じようにすべて洗い出して今回はメソッドを修正しないといけないです。
移行に利用したツール
PHP移行プロセスを円滑に進めるために、私は以下のツールを使用しました:
1.Visual Studio Code (version 1.89.1)
コードエディタを使用し、PHPの拡張機能を利用してコードの静的解析、デバッグ、およびソースコードの修正を行いました。
2. Mamp (version 6.6)
仮想サーバ環境はローカルサーバー環境にてアプリケーションをデプロイして異なるPHPバージョンを簡単に切り替えてテストする。
3.Smartgit (version 23.1.3)
Gitリポジトリの管理に使います。互換性などを修正する際、ユーザーインターフェースで簡単に操作できるよう、コードのバージョン管理を利用しました。
4.Filezilla (version 3.67.0)
サーバーとローカルPCの間でファイルのアップロードやダウンロードを行いました。
5.Termius (version 8.11.0)
サーバーへのアクセスにはSSHクライアントを使用してリモートサーバーにアクセスし、管理を行いました。
移行プロセス
1. ローカル環境でのテスト(PHPマイグレーションでソースコードを確認)
ローカル開発環境に移行手順のPHPバージョンをインストールし、すべてのテストを実行します。エラーや警告が発生した場合、それらを修正します。
2. ステージング環境でのテスト(マイグレーション前後機能を操作確認)
ローカルでのテストが完了した後、ステージング環境で再度テストを行いました。実際のデータを使用してシステムが正常に動作するか確認し、その後、移行前後のアプリケーションを比較テストしました。具体的には、画面ごとに各機能を操作し、データの追加、更新、削除などが正常に処理されるかを確認しました。下記の比較観点チェックと画面での機能一覧を基づいてテスト実施しました。
3. 本番環境へのデプロイ(マイグレーション後ウェブアプリケーションを展開)
ステージング環境ですべて確認できましたら、新しバージョンで本番へでデプロイした。その後、しばらくアプリケーションの動作確認を継続し、不具合が発生しましたらすぐ対応する体制を実施しました。
まとめ
今回は無事にPHP7.3から8.2へ移行できました。アップグレード手順や移行プロセスが大事かと思いました。
このガイドが役立つことがあるかもしれないですが、参考できましたらうれしいです。