最新のIT技術を駆使して音楽関連サービスを展開しています。日々の活動内容から得た知識をお届けする開発ブログです。PHPB!はじめにお疲れさまです。システム開発第2グループの祖父江です。現在業務で社内ツールのリニューアルを行っているのですが、開発中にプロジェクトのPHPのバージョンを7.4から8.1にバージョンアップする作業を行いました。今回のバージョンアップ作業で学んだ手順や考慮するべき点についてまとめていきたいと思います。この記事でやることPHP7.4から8.1にバージョンアップする。(fpm-fcgi)事前調査・準備PHPPHPの各バージョンはリリースから3年間サポートされます(2年間のアクティブサポート+セキュリティサポート1年)が、PHP7.4はセキュリティサポートが2022年11月28日で終了しているため、今後の保守を考えてPHP8.1へのバージョンアップを実施することになりました。PHPのサポート情報まずは公式ドキュメントを参照し、互換性のない変更点を確認します。PHP7.4.xからPHP8.0.xへの移行PHP8.0.xからPHP8.1.xへの移行PHPUnitPHPUnitでテスコードを作成していたため、PHPとPHPUnitの対応関係を調べる必要がありました。現在のPHPUnitのバージョンを確認します。contributors.PHPとPHPUnitのバージョン対応一覧表を見るとPHPUnit9系はPHP7.3以上のバージョンに対応していることがわかりました。現在のPHPUnitのバージョンが9.5.28、アップデート後のPHPのバージョンが8.1なので問題ないことが確認できます。CakePHPCakePHPとPHPの対応関係を確認します。現在のPHPUnitのバージョンを調べます。//////////////////////////////////////////////////////////////////////////////////////////////////////4.2.12CakePHP4のシステム要件によればCakePHP4系はPHP7.4以上(PHP8.1も含む)に対応しているため、こちらも問題ないことがわかりました。今回バージョンアップするサービスはすでに展開されていたため、バージョンアップ作業がうまくいくかどうか、バージョンアップ後にサービスが機能するかどうかを事前に別の環境で確かめる必要がありました。サービスが動いているEC2インスタンスとは別のEC2インスタンスを利用し検証を行い、PHP8.1にバージョンアップ後にテストコードを実行し、挙動に問題が無いことを確認した上で、本番環境でのバージョンアップを行いました。PHP8.1へのバージョンアップ手順PHPに関する設定を記述するphp.iniファイルのバックアップを取ります。php.iniファイルの場所を探します。/etc/php.ini/etcディレクトリ配下にあることが分かったので、バックアップを作成します。/etc/php.ini.orgこの際に自分で変更を加えたphp.iniがあるなら合わせてバックアップを取っておきます。次に現在のPHPのバージョンを確認します。Technologiesインストール済みのPHPパッケージを確認します。バージョンアップ後にも同じパッケージをインストールするため、出力をメモしておきます。@amzn2extra-php7.4現在のPHPを削除するため、ワイルドカードを使ってPHPと名前のついたファイルを削除します。"php*"インストールできるPHPを確認します。EC2での使用に最適化されたパッケージを利用することができます。php7.4のトピックが有効になっていることがわかりました。]PHP7.4を廃止します。]8.1のダウンロードします。php8.1インストール済みのパッケージを確認します。@amzn2extra-php8.1不足しているパッケージをインストールします。php-xmlバージョン確認を確認します。php-fpmこれでバージョンアップすることができました!テストコードの実行・ブラウザからの挙動を確認します。まとめPHPのバージョンアップに伴いPHPunitやCakePHP等の関連するパッケージやフレームワークとの対応も調査する必要があることを学びました。PHP8などへ移行する際の互換性チェック)などもあるようなので、今後バージョンアップ作業を実施するときは使ってみようと思います。気になる点や感想などあればぜひ教えて下さい。今回は、DynamoDBのscanについて書いていきます。...誰かコード書いて!開発の中で下記の仕様を満たす必要がありました。