PHP (プログラミング言語)
歴史 > リリース履歴

| 色 | 意味 | メンテナンスの状況 |
| --- | --- | --- |
| 赤 | 旧版 | メンテナンス終了 |
| 黄 | 安定版 | セキュリティ対応のみ |
| 緑 | 安定版 | バグ修正とセキュリティ対応 |
| 青 | 開発版 | 新機能の追加 |
| Ver> .Ver. | メンテナンスの状況 | リリース日時 | サポート期限> アクティブ | サポート期限> セキュリティ | 特記事項 |
| --- | --- | --- | --- | --- | --- |
| 1.0 | 旧版 | 1995-06-08 |  |  | 正式名称は"Personal Home Page Tools (PHP Tools)". "PHP"という名称が使用された最初のバージョン。 |
| 2.0 | 旧版 | 1997-11-01 |  |  | 正式名称は"PHP/FI 2.0". 今日まで続くプログラミング言語としてのPHPが成立した最初のバージョン。 |
| 3.0 | 旧版 | 1998-06-06 |  | 2000-10-20 | このバージョンからコミュニティーベースの開発に移行した。特にアンディ・ガトマンズやゼーブ・スラスキーが基礎となる部分を大幅に書き直した。 |
| 4.0 | 旧版 | 2000-05-22 |  | 2001-06-23 | Zend Engineを導入し、コードのパース部分と実行部分とが分離された。 |
| 4.1 | 旧版 | 2001-12-10 |  | 2002-03-12 | スーパーグローバル変数の導入 ($_GET, $_POST, $_SESSION, etc.) |
| 4.2 | 旧版 | 2002-04-22 |  | 2002-09-06 | register_globalsが標準で無効化された。これによりセキュリティホールの原因となりがちだった外部入力をチェック無しで直接グローバル変数に格納する処理が行われなくなった。 |
| 4.3 | 旧版 | 2002-12-27 |  | 2005-03-31 | これまで提供されていたCGI用SAPIに加えてコマンドラインインターフェイス(CLI-SAPI)が導入された。 |
| 4.4 | 旧版 | 2005-07-11 |  | 2008-08-07 | メモリ破損の脆弱性を修正した。これによりバイナリ互換性が崩れ、PHP version 4.3.x向けにビルドされた拡張が使用出来なくなった。 |
| 5.0 | 旧版 | 2004-07-13 |  | 2005-09-05 | Zend Engine 2の導入とオブジェクト指向構文の刷新。 |
| 5.1 | 旧版 | 2005-11-24 |  | 2006-08-24 | 大幅なパフォーマンス改善。 一貫したデータベースアクセスインターフェイスを提供するPHP Data Objects (PDO)の導入。 |
| 5.2 | 旧版 | 2006-11-02 |  | 2011-01-06 | フィルター拡張を標準で有効に。JSONサポートを標準化。 |
| 5.3 | 旧版 | 2009-06-30 |  | 2014-08-14 | 名前空間のサポート、 静的遅延束縛、goto演算子、クロージャ、PHPアーカイブ (phar)、循環参照に対するガベージコレクション、Windowsサポートの改善、SQLite3、MySQL関数のバックエンドライブラリをlibmysqlからmysqlndに置き換え、MIMEサポートの改善のためmime_magic拡張の代替としてfileinfo拡張を追加、i18n拡張、ereg拡張の非推奨化。 |
| 5.4 | 旧版 | 2012-03-01 |  | 2015-09-03 | トレイトのサポート、配列の短縮記法の導入。register_globals, safe_mode, allow_call_time_pass_reference, session_register(), session_unregister()および session_is_registered()の削除。ビルトインWebサーバ。 既存の機能に対するいくつかの改善、パフォーマンスの向上とメモリの削減。 |
| 5.5 | 旧版 | 2013-06-20 |  | 2016-07-10 | ジェネレータおよび例外処理に於けるfinallyブロックの導入、OpCache （Zend Optimizer+に基く）のバンドル。 |
| 5.6 | 旧版 | 2014-08-28 | 2017-01-19 | 2018-12-31 | 定数式、可変長引数関数、引数の展開演算子(...)、累乗演算子(**)、定数と関数に対するuse文、対話型デバッガphpdbgをSAPIモジュールとしてバンドル、その他細かな改善。 mysql_で始まる関数名が非推奨となる。 |
| 6.x | N/A | 破棄 | N/A | N/A | ネイティブUnicodeサポートを含むことを検討されていたが、最終的にリリースされず欠番となった。 |
| 7.0 | 旧版 | 2015-12-03 | 2017-12-03 | 2018-12-03 | Zend Engine 3 (パフォーマンスの改善とWindowsでの64-bit整数サポート)、可変変数に対する構文の統一、 ASTに基くコンパイル、Closure::call()の追加、 ビットシフト演算のプラットフォーム依存性の排除、 null合体演算子??、 エスケープシーケンス構文によるUnicodeコードポイント指定、関数の戻り値の宣言構文、スカラー型のタイプヒンティング、 宇宙船演算子<=>、 ジェネレータの委譲、無名クラス、より良い暗号論的擬似乱数生成器、PHPの内部エラーを例外で置き換え、複数の対象をuseする場合の短縮構文 バージョン5.5で非推奨となっていたMySQLの拡張機能が削除された。 |
| 7.1 | 旧版 | 2016-12-01 | 2018-12-01 | 2019-12-01 | iterable型、nullable型、戻り値のvoid型、クラス定数の 可視性の宣言、短縮リスト構文、複数例外のキャッチ |
| 7.2 | 旧版 | 2017-11-30 | 2019-11-30 | 2020-11-30 | オブジェクト引数と戻り値の型宣言,、Sodiumがコアモジュールに、抽象メソッドのオーバーライド、パラメータの型の拡大変換、countableでない型のオブジェクトに対するcount()で警告を発生するように |
| 7.3 | 旧版 | 2018-12-06 | 2020-12-06 | 2021-12-06 | ヒアドキュメントとNowdoc構文がより柔軟に、リファレンスへの分割代入のサポート、PCRE2のサポート、 hrtime()関数 |
| 7.4 | 旧版 | 2019-11-28 | 2021-11-28 | 2022-11-28 | アロー関数、型付きプロパティ、OPcacheでの事前ロード、Null合体代入演算子、openssl_random_pseudo_bytes()の改善、弱い参照、FFI –  Foreign function interface拡張モジュール、hash拡張モジュールが常に有効に、password_hash()の改善、mb_str_split()の追加、リファレンスへのリフレクション、wddx拡張モジュールがPECLへ移動、カスタムオブジェクトのシリアライズのためのマジックメソッド |
| 8.0 | 旧版 | 2020-11-26 | 2022-11-26 | 2023-11-26 | JITコンパイラ、負のインデックスで始まる配列、トレイトでprivateな抽象メソッドを定義可能に、文字列と数値の比較の改善、数値を示す文字列の改善、算術演算子/ビット演算子で演算不能時にTypeErrorをスローするように、PHPエンジンのエラーを再分類、組込関数の一貫した型エラー、非互換なメソッドのシグネチャが致命的なエラーに)、float型から文字列型へのキャストがロケール非依存に、多数の構文の調整、アトリビュート、名前付き引数、match式、コンストラクタ引数のプロパティ昇格機能、union型、mixed型、戻り値としてのstatic型、nullsafe演算子、変数に保存せずに例外をキャッチする構文、throw式、JSON拡張モジュールが常に有効に |
| 8.1 | 安定版 | 2021-11-25 | 2023-11-25 | 2024-11-25 | 明示的な8進数プレフィックス、列挙型、readonlyプロパティ、第一級callable生成記法、初期化時のnew式の許可、交差型、戻り値のnever型、クラス定数のfinal指定、ファイバー |
| 8.2 | 安定版 | 2022-12-08 | 2024-12-08 | 2025-12-08 | Readonlyクラス、null, false, trueが独立した型に、大文字小文字変換がロケール非依存に、DNF型、トレイトでの定数 |
| 8.3 | 安定版 | 2023-11-23 | 2025-11-23 | 2026-11-23 | 型付きクラス定数、クラス定数への動的なアクセス構文、#[\Override]アトリビュート、readonlyプロパティのclone中の再初期化、json_validate()関数、乱数生成関数、CLIで複数ファイルの文法チェックに対応 |