現在、PHPの最新バージョンは?どのPHPのバージョンが安定している?
今すぐアップデートすべき?そんな疑問をお持ちの方に向けて、本記事ではPHPの最新バージョンである8.4の新機能・非推奨機能から、インストール手順やバージョン選びのポイント、CakePHPとの互換性まで、実務で役立つ情報を幅広く解説します。セキュリティやパフォーマンス、安定稼働を意識したPHPのバージョン選定に、ぜひご活用ください。
目次
1.PHPの最新バージョン8.4とは
PHP 8.4は、2024年11月21日に正式リリースされました。最新バージョンであるPHP 8.4は、パフォーマンスの向上やセキュリティ対策の強化に加え、開発のしやすさを追求した改良が多数盛り込まれています。ここではPHP 8.4の新機能と非推奨機能について紹介します。
PHP 8.4の新機能
まずは、PHP 8.4の主な新機能を見てみましょう。
プロパティフック(Property access hooks)
PHP 8.4では、クラスのプロパティに対して直接getやsetを埋め込めるプロパティフックが導入されました。この機能によって、従来は getter/setterメソッドを冗長に書いていた処理を、プロパティ内部で簡単に制御できます。
class Book { private string $title;
get => strtoupper($this->title); set(string $value) => $this->title = trim($value); } } |
このコード例のように、値の整形や検証をプロパティに直接組み込むことで、読みやすく安全なコードが書けるようになりました。
非対称な可視性(Asymmetric Visibility)
PHP 8.4では、プロパティの読み取りと書き込みに異なるアクセスレベルを設定できるようになりました。外部から読まれても問題ないものの、更新はされたくない場合などに有効です。
class Profile { public private(set) string $username = 'guest'; } |
このコード例では、外部からは $username を読み取れますが、書き換えは内部に限定されます。セキュリティの確保やカプセル化を意識した設計に有効です。
括弧なしのnew連結
PHP 8.4以前は、インスタンス生成直後にメソッドを呼び出す場合は、(new Class())->method() のように括弧が必要でした。PHP 8.4からは、この外側の括弧が不要になります。
new Logger()->info("ログ記録を開始しました"); |
ちょっとした変更にも見えますが、コードがシンプルになり読みやすさが向上するでしょう。
マルチバイトのtrim関数
PHP 8.4ではマルチバイト文字に対応した新しいmb_trim関数が追加されました。これまでも使えた trim関数は全角スペースや特定のUnicode文字を除去できませんでしたがmb_trim関数では問題なくトリミングができるようになりました。
$text = " こんにちは "; echo mb_trim($text);
|
配列の項目を探すための新関数(array_find)
PHP 8.4では、配列検索のための新関数「array_find」が追加されました。array_findを使うと、条件を満たす最初の要素を返します。
$items = [5, 10, 15, 20]; $result = array_find($items, fn($n) => $n > 12);
|
HTML5のパース
PHP 8.4では、DOMDocumentクラスが HTML5パースに正式対応しました。PHP 8.4以前までは、HTML5タグの扱いに制限がありましたが、PHP 8.4では正しく読み込めます。フロントエンドと連携する場面でも活用しやすくなるでしょう。
$html = '<main><section>内容</section></main>'; $doc = new DOMDocument(); $doc->loadHTML($html); |
PHP 8.4の非推奨機能
新機能がある一方で、PHP 8.4で非推奨となった機能もあります。既存のコードに影響する恐れがあるため、8.4へバージョンアップする前には確認テストをしておきましょう。
GET/POSTセッション
PHP 8.4では、session.use_trans_sidのデフォルトが0(無効) に変更されました。URLに ?PHPSESSID= が自動的に付加される挙動が廃止され、セッションIDが外部に漏れるリスクが軽減されます。今後は、クッキーを前提としたセッション管理が基本となるため、バージョンが古いコードでは注意してください。
その他の変更点
strptime関数は非推奨とされました。将来的な削除が予定されています。
get_class関数にnullを渡した場合の動作が変更され、TypeErrorが発生するようになりました。
mb_ereg_replace関数の挙動がUTF-8 処理時に微調整されており、正規表現の互換性にも注意が求められます。
詳細はリリースノートを必ず確認してください。
2.PHPのバージョン一覧とサポート期限
PHPはバージョンごとに機能や仕様が異なり、さらに各バージョンにはサポート期限が定められています。セキュリティや運用の安定性を保つうえで、どのバージョンがいつまで使えるのかを把握しておくことが重要です。
ここでは、2025年4月時点の主なPHPバージョンの履歴とリリーススケジュール、サポート期限などについて解説します。
PHPの各バージョンにおけるリリース日やサポート期限など
PHPは1995年の初期リリースから現在に至るまで、定期的にメジャーバージョンアップを重ねてきました。基本的に年1回の11月頃にリリースされていて、サポートポリシーも明確です。
それぞれのPHPバージョンには、機能追加・バグ修正がなされる「アクティブサポート」と脆弱性対応のみがなされる「セキュリティサポート」の2段階が設定されています。
近年使われていたPHPのバージョンにおける、リリース日、2025年4月時点のサポート期限は下表の通りです。
バージョン | リリース日 | アクティブサポート終了 | セキュリティサポート終了 |
---|---|---|---|
PHP 8.4 | 2024年11月21日 | 2026/12/31 | 2028/12/31 |
PHP 8.3 | 2023年11月23日 | 2025/12/31 | 2027/12/31 |
PHP 8.2 | 2022年12月8日 | 終了済 | 2026/12/31 |
PHP 8.1 | 2021年11月25日 | 終了済 | 2025/12/31 |
PHP 8.0 | 2020年11月26日 | 終了済 | 終了済 |
PHP 7.4 | 2019年11月28日 | 終了済 | 終了済 |
PHP 7系はすでにすべてサポート期限を終えていて、PHP 8系が事実上、PHPの標準となっています。
担当するプロジェクトで使っているPHPのバージョンが、どのサポート期間に該当するかを確認し、アップグレードの検討に役立ててください。万が一、サポート期限が終了済みのバージョンを使っていれば、バージョンアップの検討をおすすめします。
サポート終了済みのバージョンを使い続けるリスク
サポートが終了したバージョンのPHPを使い続けると、開発や運用にさまざまなリスクをもたらします。
まず最も大きな懸念はセキュリティの脆弱性です。サポートが終了したバージョンには、今後新たなセキュリティホールが発見されても修正パッチが提供されません。攻撃者にとっては格好の標的となり、情報漏洩やサイト改ざんといった被害につながる恐れがあります。
次に、最新技術との非互換も問題です。新しいバージョンのWordPressやフレームワーク、ライブラリが旧バージョンのPHPをサポート対象外にしているケースが増えており、システムの更新が進まなくなります。
さらに、将来的にバージョンアップしようとした際に、非推奨機能を使いすぎていてコード全体の改修が必要になることも否定できません。
PHP 7.4以前はすでにすべてサポート期限を終えているので、使い続けることは非常にリスクが高い状態です。中長期的に安定した運用を目指すのであれば、PHP 8.3以降への移行を早急に検討してください。
3.PHPのバージョンを確認する方法
PHPの最新バージョンへのアップデートを検討する前には、まずは現在のバージョンを正確に把握することが重要です。今使っているPHPが最新バージョンと比べてどれだけ違うのかを知りましょう。
ここでは、PHPバージョンを確認する方法を紹介します。
CLIで「php -v」による確認
LinuxやmacOS、Windowsなど、コマンドライン環境(CLI)を使用できる場合は、ターミナルやコマンドプロンプトからPHPのバージョンを簡単に確認できます。
次のコマンドを入力してください。
php -v |
出力例
PHP 8.3.6 (cli) (built: Mar 28 2024 12:34:56) ( NTS ) |
この出力例では、現在使用されているPHPのバージョンが8.3.6だとわかるでしょう。そのほかにも、ビルド日時やスレッドセーフ(NTS/ZTS)に関する情報も確認できます。
phpinfoによる確認
ApacheやNginxなどのWebサーバーでPHPが稼働している場合は、phpinfo関数を使って詳細なバージョン情報を確認できます。
新しいPHPファイル(例:info.php)を作成し、以下のコードを記述してブラウザからアクセスします。
<?php phpinfo(); ?> |
PHP Version の項目に、現在のバージョンが確認できます。そのほかにも、PHPの設定内容やモジュール、Apache、nginxなどのサーバー環境も確認可能です。バージョンアップの情報収集に役立ててください。
4.PHPの最新バージョンをインストールする手順
PHPの最新バージョンを使えるようになると、新機能が使えて便利になり、セキュリティやパフォーマンスの向上が期待できます、ただし、インストール前には現在の環境や依存関係をしっかりと確認しなければなりません。
環境ごとにインストール方法は異なるため、ここでは代表的なケース別に、手順とポイントを解説します。
インストール前の環境チェックポイント
不要なトラブルを防ぐために、PHPの最新バージョンをインストールする前に環境チェックするポイントを紹介します。
現在のPHPバージョンと構成を確認する
3章で紹介したように、「php -v」や「phpinfo」を使って、現行バージョンを確認しましょう。また、ビルドタイプ、拡張モジュール、Webサーバーとの連携状況などを確認することも重要です。
必要なPHP拡張やライブラリを確認する
アプリケーションで使っている拡張モジュールが、インストールしようとしている最新バージョンでサポートされているかを確認しましょう。利用しているWordPressなどのCMSや Laravelなどのフレームワークが公表している公式情報も十分に参考にしてください。
サーバー構成との整合性をチェックする
ApacheやNginx、Dockerなどの構成を使っている場合、それぞれに適したPHPバージョンとの互換性も確認が必要です。環境によっては、モジュール版(mod_php)やFastCGI(php-fpm)の選択が分かれるため、導入前に構成を明確にしておきましょう。
バックアップと検証環境の準備
最新バージョンをインストールするとしても、既存のシステムに直接インストールするのは危険です。まずは開発環境やテスト環境にインストールをして動作を確認しましょう。
php.iniやvirtual host設定などの構成ファイルやソースコードのバックアップも必須です。
Linux(Ubuntu/Debian/CentOS/RHEL)でのインストール手順
Linux環境では、ディストリビューションごとにパッケージ管理システムが異なります。
ここでは、Ubuntu系とCentOS系に分けて、PHPの最新バージョンをインストールする手順を紹介します。
Ubuntu / Debian 系の場合
UbuntuやDebianでは、apt パッケージマネージャーを使用しましょう。公式リポジトリでは最新バージョンが反映されていないことが多いため、「Ondřej Surý」氏のPPA(Personal Package Archive)」を追加するのがおすすめです。
sudo apt update sudo apt install -y software-properties-common sudo add-apt-repository ppa:ondrej/php sudo apt update sudo apt install -y php8.4 |
必要に応じて拡張モジュールもインストールしておきましょう。
sudo apt install -y php8.4-cli php8.4-mbstring php8.4-xml php8.4-curl php8.4-mysql |
インストール後は「php -v」コマンドでバージョンを確認し、正しくインストールされていることを確認してください。
CentOS / RHEL 系の場合
CentOSやRHELでは、Remiリポジトリを利用するのが一般的です。EPELとRemiを有効化してから、最新バージョンのPHPをインストールしてください。
sudo dnf install -y epel-release sudo dnf install -y https://rpms.remirepo.net/enterprise/remi-release-9.rpm sudo dnf module enable php:remi-8.4 sudo dnf install -y php php-cli php-mbstring php-xml php-mysqlnd php-opcache |
dnfやyumで管理されるため、サーバー環境に合わせたパッケージ構成が選べます。
Windowsでのインストール手順
Windows環境では、PHPの公式サイトからZIPパッケージをダウンロードして手動でセットアップする方法が一般的です。インストーラー形式ではないため、環境変数や設定ファイルの編集が必要になります。
PHPの最新版をダウンロード
公式サイト(https://windows.php.net/download/)から、最新バージョンのPHPを選び、ZIPファイルをダウンロードしてください。
ダウンロードファイルを解凍
ダウンロードしたZIPファイルを任意のフォルダに解凍し、ファイルを展開します。php.exe が格納されたディレクトリを、Windowsの「システム環境変数 > Path」に追加してください。コマンドプロンプトを開き、「php -v」コマンドを実行してバージョンが表示されることを確認してください。
php.iniを設定
フォルダ内にある「php.ini-development」を「php.ini」にファイル名を変更し、必要に応じて設定を加えてください。
なお、ApacheやIISと連携する場合は、各サーバー設定ファイルにPHPモジュールの読み込み指定を追記する必要があります。
Macでのインストール手順
Macでは、パッケージマネージャーHomebrewを使ってPHPの最新バージョンをインストールする方法が主流です。PHPの最新版をインストールする場合には、brewのtap機能やsourceビルドが役立ちます。
Homebrewのインストール確認
まずはHomebrewがインストールされているか確認しましょう。ターミナルで次のコマンドを実行すると確認できます。
brew -v |
インストールされていない場合は、公式サイト(https://brew.sh)の手順に従ってインストールしましょう。
PHPの最新版を探しインストールする
PHPの最新バージョンはmainリポジトリに含まれていない可能性がありますので、次のように tap を使ってインストールしましょう。
brew tap shivammathur/php brew install shivammathur/php/php@8.4 |
Homebrew公式のcoreに追加されたあとであれば、二行目のコマンドのみでインストール可能です。
パス設定
インストール後は、次のようにパスを通す必要があります。
echo 'export PATH="/opt/homebrew/opt/php@8.4/bin:$PATH"' >> ~/.zprofile source ~/.zprofile |
Apacheとの連携
macOSには標準でApacheが搭載されています。連携が必要な場合には、httpd.conf に次のような記述を追加してください。
LoadModule php_module /opt/homebrew/opt/php@8.4/lib/httpd/modules/libphp.so AddType application/x-httpd-php .php |
関連記事
PHPプログラミングとは?将来性や実践で活用できるコード例など初心者にわかりやすく解説
5.PHPのバージョンでおすすめは?
PHPはバージョンごとにサポート状況や機能、安定性が異なります。すぐに最新バージョンを採用すれば良いというわけでもないため、サーバー管理者にとって、どのバージョンのPHPを採用するかは悩ましいテーマです。
ここでは、現在の安定版とされるバージョンの判断基準や、用途に応じたおすすめバージョンの選び方を解説します。
PHPのバージョンで安定版は?
2025年4月時点で、stable releaseと呼ばれるPHPの安定版はPHP 8.3系です。リリース日から一定の期間が経過していて、すでに多くの環境で運用されており、バグ修正やセキュリティパッチも継続的に提供されているのが理由です。
一方、最新バージョンであるPHP 8.4系はリリース日からあまり時間が経過しておらずライブラリやフレームワークの動作確認が十分でない場合もあります。そのため、商用環境や保守運用を重視する環境では、PHP 8.3を安定版として採用するのが安全といえるでしょう。
なお、PHP 8.2以前のバージョンはセキュリティサポートの終了が近づいているため、新しく導入するには向いていません。長期的に安心して使いたい場合は、8.3以降を基準にしましょう。
PHPのバージョンのおすすめはどう選ぶべきか
PHPのバージョン選びは、安定性・新機能・互換性のバランスがポイントです。最新バージョンが必ずしも最良とは限らず、目的や環境に応じておすすめのバージョンが異なります。ここでは、本番運用・開発・学習・保守といった代表的な利用シーンごとに、おすすめのバージョンを解説します。
本番環境:安定性と互換性を最優先に考える
稼働中のWebサイトや業務システムでは、現時点ではPHP 8.3が最も信頼性の高い選択肢です。理由としては、セキュリティサポートが継続されており、WordPressなどの主要なCMSや、Laravel、CakePHPなどのフレームワークとの互換性も確認済みだからです。十分な運用実績があるため、予期せぬトラブルのリスクを抑えつつ利用可能です。
開発環境:新機能を取り入れて先を見据える
開発中のプロジェクトでは、PHP 8.4の採用を検討する価値があるでしょう。プロパティフックや非対称可視性などの新機能を活用することで、コードの保守性や表現力が向上します。ただし、使用したいライブラリやツールがPHP 8.4に対応しているかどうか、事前に確認しておくことが前提です。
PHP 7系で稼働中の環境:早めの移行計画が必要
PHP 7系はすでにすべてサポート終了となっており、セキュリティリスクを抱えたままの運用は決してお勧めできません。現在稼働しているバージョンを一時的には維持しつつ、段階的にPHP 8.3以降への移行を計画することをおすすめします。バージョンアップに向けて、非推奨関数や依存モジュールの洗い出しを行い、事前の動作確認や無影響確認テストなどを徹底してください。
学習用途:将来を見据えて最新バージョンを使う
プログラミング学習の観点では、最新トレンドに触れられるPHP 8.4がおすすめです。新機能や新しい構文に早い段階で慣れておくメリットがあるからです。ただし、教材が少ない可能性があるので注意してください。
関連記事
PHPでできること・できないことを解説!初心者でも作れるものや学習方法も紹介
6.cakephpの最新バージョンとの互換性と注意点
CakePHPは、日本国内で人気のPHPフレームワークです。シンプルかつ効率的な構造で開発が進めやすいのですが、PHPのバージョンとの互換性に注意しないと、アップデート時に思わぬエラーに直面する恐れがあります。
ここでは、CakePHPのバージョンごとのPHP対応状況や、最新バージョンであるPHP 8.4と組み合わせる際の注意点を整理しながら、トラブルを防ぐためのポイントを解説します。
CakePHPの最新バージョンとPHP対応状況
2025年4月時点でCakePHPの最新バージョンは CakePHP 5.です。CakePHP 5はPHP 8.4出の稼働が確認済みです。最小のバージョンはPHP8.1です。
PHP 8.4対応時の注意点と対策
CakePHPをPHP 8.4環境で使用するときに注意すべき点と対策についてみてみましょう。
非推奨機能の影響確認
CakePHPの内部で使用されているPHP関数の中に、PHP 8.4で非推奨とされたものが含まれている場合、WarningやNoticeレベルのエラーが表示されることがあります。アプリケーション全体の動作には直結しなくても、ログの肥大化や見落としにつながるため、事前にE_DEPRECATEDレベルの出力をテスト環境で確認しておきましょう。
テストケースの実行
PHPバージョンを切り替える際は、必ず既存のユニットテストや統合テストを実行し、CakePHPのコア動作およびカスタムコードが正常に動作するかを確認しましょう。
Composer依存の精査
CakePHPやそのプラグインが依存するパッケージが、composer.jsonで php: ^8.1 || ^8.2 || ^8.3 などと制限されている場合、8.4の導入によってインストールがブロックされるケースがあります。この場合は、minimum-stabilityやplatformの見直しを行い、動作対象のバージョンと一致させなければいけません。
バージョンアップのコツ
CakePHPに限らず、フレームワークを使った開発では、PHP本体のバージョンアップに伴う影響を最小限に抑える工夫が必要です。いくつかのコツを紹介します。
バージョンアップは段階的に行う
バージョンアップによって発生する問題を特定しやすくするために、PHP 8.1 → 8.2 → 8.3 → 8.4 というように、段階的にバージョンアップをしながらテストで確認する方法もあります。ただし、テストの工数がかかるため、バランスが大切です。
環境差を吸収するDockerなどの活用
開発・検証・本番でPHPのバージョン差が発生しないよう、Dockerなどのコンテナ環境でバージョンを固定しておくと安全です。
ComposerやCakePHP CLIのバージョン管理
フレームワークのバージョンとComposer環境を明確に管理することで、互換性問題の早期発見につなげましょう。バージョン固定はcomposer.lockや.env、またはMakefile内で徹底してください。
関連記事
CakePHPとは?Webアプリ開発に必要な知識をわかりやすく解説します!
7.まとめ
本記事では、PHPの最新バージョン8.4の新機能や非推奨機能、インストール手順、CakePHPとの互換性、そして用途別のおすすめバージョンについて解説しました。
セキュリティやパフォーマンス、開発効率を高めたいと考える方にとって、PHPのバージョン選定は極めて重要な判断です。まずはご自身の環境で動作しているバージョンを確認し、用途に合わせてPHP 8.3または8.4への移行・活用を前向きに検討してみてください。
本記事が皆様にとって少しでもお役に立てますと幸いです。
「フリーランスボード」は、数多くのフリーランスエージェントが掲載するITフリーランスエンジニア・ITフリーランス向けの案件・求人を一括検索できるサイトです。
開発環境、職種、単価、稼働形態、稼働日数など様々な条件から、あなたに最適なフリーランス案件・求人を簡単に見つけることができます。
単価アップを目指す方や、自分の得意なスキルを活かせる案件に参画したい方は、ぜひ「フリーランスボード」をご利用ください。
自身に最適なフリーランスエージェントを探したい方はこちらよりご確認いただけます。