PHPバージョンアップの為に
開発部の金城です。今回は利用しているPHPのバージョンをアップする為の手順について、弊社での取り組みについて紹介します。
PHPやJava、Rubyなど諸々の言語環境にはサポート期間が有り、またそれらに対応するWeb Application Frameworkにもサポート期間が有ります。新機能や動作の高速化、開発の効率化の為だけでなく、セキュリティ上の観点においても常にサポートの提供されているバージョンを利用することが望ましいです。
弊社でも各種業務上のシステムでPHPやWeb Application Frameworkを利用しており、サポートの提供されいているバージョンに追従するよう改修を行っております。その取り組みを行うためのポイントを簡単に紹介したいと思います。
公式ドキュメントの確認
PHPの公式ウェブサイト https://php.net/ では各バージョンの差異や変更点を分かりやすく解説しており、まずはこれを確認する事になります。掲載内容を参考に既存のコードへの影響を確認していきます。
また、利用しているフレームワークについてもメジャーバージョンだけでなくマイナーバージョンアップごとの更新履歴にもPHPの各バージョンへの対応状況やバージョン固有の不具合についての対応状況が掲載されているので、そこも併せて確認しておきます。
フレームワークのバージョンアップが必要になる場合は、基本的には公式ドキュメントでバージョンアップの為の情報が提供されていますので、それを参考の上で改修を行います。
静的解析ツールの利用
弊社ではPHPバージョンごとの影響確認の為に PHPCompatibility を利用しています。100%網羅できるものではないですが、これを利用する事で影響を受ける可能性が有る部分についてまとめてチェックする事が出来ます。
ユニットテストの実施
PHPUnit で用意しておいたユニットテストを実施します。テスト内容がFailにならないかだけでなく、FailにはならないまでもWarningやDeprecatedなどが出力されないかチェックしておきます。また、新バージョン対応の為に改修が必要になった場合でもユニットテストが有る事で動作が変わらない事への担保を行いやすくなります。
ステージング環境での動作確認
本番環境にいきなり適用するのではなく、本番環境同様の環境で動作確認を行います。一般的な利用シーンを想定して一通りの動作を確認していきます。この際画面上の動きだけでなく、アプリケーションのログにエラーが隠れて出力されていないかもチェックします。
大きくは上記のような対応を行っております。知っている方には当然の内容ですがこれらを出来る範囲からでも対応していく事で数年間にわたって最新の環境に追従する事が出来ます。