PHP 8.3 は 2023年11月23日にリリースされたバージョンです。Active Support(バグ修正)は 2025年12月31日にすでに終了しており、現在は Security Support(重大なセキュリティパッチのみ)期間中です。Security Support は 2027年12月31日に終了します。現在 PHP 8.3 を使用している環境では、移行期限を見据えて PHP 8.4 への移行計画を立てることを推奨します。
PHP 8.3 のサポート期限一覧
| サポート種別 | 開始日 | 終了日 | 現在のステータス |
|---|---|---|---|
| Active Support(バグ修正・セキュリティパッチ) | 2023-11-23 | 2025-12-31 | 終了済み |
| Security Support(セキュリティパッチのみ) | 2026-01-01 | 2027-12-31 | 継続中 |
PHP のサポートポリシー
PHP の各バージョンは、リリース後 2年の Active Support と 追加1年の Security Support の合計3年間サポートされます。PHP 8.3 は 2023年11月リリースのため Security Support が 2027年12月31日に終了します。
PHP 8.x 各バージョンのサポート状況
| バージョン | Active Support 終了 | EOL(Security Support終了) | ステータス |
|---|---|---|---|
| PHP 8.1 | 2023-11-25 | 2025-12-31 | EOL済み |
| PHP 8.2 | 2024-12-31(終了済み) | 2026-12-31 | Security Support中 |
| PHP 8.3 | 2025-12-31(終了済み) | 2027-12-31 | Security Support中 |
| PHP 8.4 | 2026-12-31 | 2028-12-31 | Active Support中(最新) |
基本情報
- リリース日: 2023年11月23日
- 最新バージョン: 8.3.31
- Active Support 終了: 2025年12月31日(終了済み)
- Security Support 終了(EOL): 2027年12月31日
- 後継製品: PHP 8.4(推奨移行先)
- 主な機能: 型付きクラス定数(Typed Class Constants)・
json_validate()関数・動的クラス定数参照・Randomizerクラスの拡張・#[Override]属性
PHP 8.3 の主要な機能
型付きクラス定数(Typed Class Constants)
PHP 8.3 では、クラス定数に型を指定できるようになりました。これにより、定数の型安全性が向上し、継承時の型チェックが強制されます。
class Status {
const string ACTIVE = 'active';
const string INACTIVE = 'inactive';
const int DEFAULT_TIMEOUT = 30;
}
interface HasVersion {
const string VERSION = '1.0.0'; // インターフェースでも型指定可能
}
json_validate() 関数
JSON 文字列が有効かどうかを json_decode() でデコードせずに確認できる json_validate() 関数が追加されました。大きな JSON データのバリデーションでメモリ効率が改善されます。
$jsonString = '{"name": "test", "value": 123}';
// PHP 8.3 以降
if (json_validate($jsonString)) {
$data = json_decode($jsonString, true);
}
#[Override] 属性
#[Override] 属性をメソッドに付けると、親クラスのメソッドをオーバーライドしていることを明示できます。親クラスのメソッドが削除・リネームされた場合にコンパイル時エラーが発生するため、継承バグを早期発見できます。
EOL後のリスクと移行の必要性
2027年12月31日以降、PHP 8.3 はサポート対象外となります。セキュリティパッチが提供されなくなるため、本番環境での継続使用にはリスクが伴います。
1. セキュリティパッチの停止
EOL 後に発見された PHP コアの脆弱性に対する公式パッチが提供されなくなります。Web アプリケーションサーバーとして使われる PHP の脆弱性は、インジェクション攻撃・認証バイパスなどの直接的なリスクに繋がります。
2. フレームワーク・CMS のサポート終了
Laravel・Symfony・WordPress などの主要フレームワーク・CMS は、PHP の EOL に合わせてサポートバージョンを引き上げます。PHP 8.3 のサポートが打ち切られると、フレームワークのセキュリティアップデートを適用できなくなる状況が発生します。
推奨される移行先
PHP 8.4 — 推奨(Active Support中・EOL: 2028年12月)
- リリース日: 2024年11月21日
- 最新バージョン: 8.4.21
- Security Support EOL: 2028年12月31日
- 主な追加機能(8.3比): プロパティフック・非対称可視性・
array_find()等の新配列関数・Lazy Objects - メリット: 8.3 と高い互換性。EOL 2028年まで余裕を持った移行スケジュールを組める
PHP 8.3 → 8.4 移行時の注意点
互換性の高さ
PHP 8.3 → 8.4 は同じ 8.x 系のため、移行時の互換性問題は比較的少ないです。ただし、PHP 8.4 で非推奨になった関数・動作変更がある場合があります。E_DEPRECATED 警告を確認して修正してください。
HTML エスケープのデフォルト変更htmlspecialchars() のデフォルト文字コードが PHP 8.1 以降 UTF-8 になっています。すでに対応済みの環境では影響はありません。
# PHP バージョン確認
php -v
# テスト環境での互換性確認
php -d error_reporting=E_ALL index.php
# Composer での依存関係チェック
composer check-platform-reqs --php-version 8.4
PHP アプリケーションのホスティング環境
共有ホスティング環境では、管理画面から PHP バージョンを 8.4 に切り替えて動作確認するのが最も簡単な移行方法です。VPS 環境では複数の PHP バージョンを並行インストールし、段階的に移行先の動作確認ができます。