PHP バージョンアップの注意点

PHP バージョンアップ時の注意点をまとめます
PHP をバージョンアップする理由
パフォーマンス向上とセキュリティ向上。
PHP のバージョンアップにはメジャーバージョンアップとマイナーバージョンアップの2種類が存在。
メジャーバージョンアップは機能追加やパフォーマンス向上の為に行われ、マイナーバージョンアップはバグの修正などセキュリティ向上の為に行われる。
メジャーバージョンアップ(PHP5.x から PHP7.x、PHP7.x から PHP8.xなど)
- 新機能追加
- パフォーマンス向上
マイナーバージョンアップ(PHP7.3 から PHP7.4、PHP8.0 から PHP8.1など)
- 脆弱性、バグなどのセキュリティ向上
基本的に新しいバージョン(数値が大きい)の方が機能的、パフォーマンス的、セキュリティ的に優れている。
古いバージョンはセキュリティ面で危険にさらされている可能性がある。その為、バージョンアップを検討する必要がある。
又、PHP で制作された既存Webシステムをバージョンアップする場合、メジャーバージョンアップの方が対応工数・コストが大きくなる。
時間もお金もかかる。
PHP バージョンアップの実施項目
主に次の3点。
- PHP(本体)のバージョンアップ
- PHP システムのプログラム修正(プログラムの知識が必要)
- 動作テスト
対応手順
システムの構成把握
- 現在の PHP バージョン
- 現在のインストール済み PHP 関連パッケージ
- 現在の PHP 設定(php.ini)
- DB の利用有無とバージョン
- CMS(プラグイン含む)の利用有無とバージョン
- PHP フレームワークの利用有無とバージョン
- 他サービス、システム(決算システム、API サービス利用など)の連携有無
システムの機能把握
- システムの全機能を洗い出しテスト仕様書を作成
移行先システムの構成決定
- 新規 PHP のバージョン決定
- CMS/PHP フレームワークのアップグレードバージョン決定(必要な場合)
移行先サーバー環境(開発/テスト用)用意
- 新規 PHP(本体)のインストール
- PHP 関連パッケージのインストール
- PHP 設定対応(php.ini)
- CMS/PHP フレームワークのアップグレード
- PHP システムのプログラム修正
- テスト実施/動作確認
移行先サーバー環境(本番)構築
- メンテナンス画面表示
- 現在の PHP(本体)と PHP 関連パッケージの削除
- 新規 PHP(本体)のバージョンアップ
- PHP 関連パッケージのインストール
- PHP 設定対応(php.ini)
- 構成ファイル移行(修正ファイル、CMS/PHP フレームワークファイル)
- DB データ移行(必要な場合)
- テスト実施
- メンテナンス画面非表示
事前チェックシート
PHP システム構成の現状とアフターを把握。業者への相談もこの内容でいい。
SUBJECT | ITEM | NOW | AFTER |
---|---|---|---|
既存システム構成 | OS(version) | ||
PHP(version) | |||
PHP設定(php.ini) | |||
PHP関連パッケージ | |||
DB(version) | |||
CMS(version) | |||
Framework(version) | |||
others | |||
システム機能 | item lists | ||
その他 | 予算 | ||
limit | |||
重要事項 |
ポイント
エラーの対応
PHP バージョンアップでエラーが出たら見直したいこと
- ▼ E_NOTICE(注意メッセージ)とE_DEPRECATED(推奨エラー)がページに多数表示される
-
プログラムを修正するか、あきらめてページにエラーを表示しない設定(php.ini)に変更する
php.ini
display_errors = Off