PHPは、多くのWebサービスやシステムを支える中心的なプログラミング言語です。

開発の現場では、利用しているライブラリが特定のバージョンを要求していたり、新しく導入したい構文が現在の環境で動作するかを確認したりする場面が多々あります。

また、セキュリティの観点からも、サポートが継続されているバージョンを使用しているかを把握することは非常に重要です。

本記事では、PHPのバージョンを確認する方法について、「コマンドライン (CLI) 」「ブラウザ (Webサーバ) 」「プログラムコード内」の3つの視点から詳しく解説します。

それぞれの環境における手順を網羅的にまとめているため、ご自身の開発状況に合わせて最適な方法を選んでみてください。

コマンドライン (CLI) で確認する方法

サーバーにSSHでログインしている場合や、ローカルの開発環境 (WindowsのコマンドプロンプトやPowerShell、macOS/Linuxのターミナル) を操作している場合に、最も迅速に確認できる方法です。

基本の確認コマンド

ターミナルを開き、以下のコマンドを入力して実行してください。

Shell
# PHPのバージョン情報を表示する
php -v

実行結果は、通常以下のように出力されます。

text
PHP 8.3.4 (cli) (built: Mar 10 2026 10:00:00) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.3.4, Copyright (c) Zend Technologies
    with Zend OPcache v8.3.4, Copyright (c), by Zend Technologies

この出力結果の1行目に注目してください。

「PHP 8.3.4」のように表示されている部分が、現在インストールされているPHPのバージョンです。

また、(cli) という表記があることから、これがコマンドラインインターフェース用のPHPであることがわかります。

詳細な設定情報を確認する

バージョンだけでなく、メモリ制限 (memory_limit) やタイムゾーン設定、拡張モジュールの読み込み状況などを詳しく知りたい場合は、以下のコマンドを使用します。

Shell
# PHPの全設定情報を表示する
php -i

このコマンドを実行すると膨大な情報が出力されます。

特定の項目だけを確認したい場合は、grep (Windowsの場合は findstr) を組み合わせてフィルタリングするのが効率的です。

Shell
# タイムゾーンの設定だけを確認する場合 (Linux/macOS)
php -i | grep date.timezone

# 拡張モジュールの読み込み状況を確認する場合
php -m

パスの問題に注意

コマンドラインで確認したバージョンと、後述するブラウザで確認したバージョンが異なる場合があります。

これは、システム内に複数のPHPがインストールされており、環境変数 (PATH) が通っているPHPとWebサーバーが利用しているPHPが別物であることが原因です。

現在実行している php コマンドがどこにあるかを確認するには、以下のコマンドを試してください。

Shell
# PHPの実行ファイルパスを確認する (Linux/macOS)
which php

# PHPの実行ファイルパスを確認する (Windows)
where php

ブラウザ (Webサーバー) 経由で確認する方法

Webアプリケーションを運用している場合、コマンドラインから見えるPHPのバージョンと、実際にApacheやNginx上で動作しているPHPのバージョンが一致しないことがよくあります。

Webサーバー上の動作バージョンを正確に知るには、PHPファイルを作成してブラウザでアクセスする方法が確実です。

phpinfo() 関数を利用する

最も標準的で詳細な情報を得られるのが phpinfo() 関数です。

  1. テキストエディタを開き、以下のコードを記述します。
  2. ファイル名を info.php などとして保存します。
  3. Webサーバーの公開ディレクトリ (Document Root) にアップロードします。
  4. ブラウザで http://ドメイン名/info.php にアクセスします。
PHP
<?php
// PHPのすべての情報を出力する
phpinfo();
?>

実行すると、ブラウザ上にPHPのロゴと共に紫色の表形式で詳細な設定情報が表示されます。

最上部に大きく表示されているのが、Webサーバー上で動作しているPHPのバージョンです。

セキュリティ上の注意点

phpinfo() を公開したままにすることは、セキュリティ上非常に危険です。 この画面には、サーバーのディレクトリ構造、OSの情報、有効なモジュール、さらには環境変数に含まれるAPIキーなどの機密情報が表示されることがあります。

確認作業が終わったら、必ずサーバー上からファイルを削除してください。

phpversion() 関数でシンプルに確認する

詳細な表は不要で、バージョン番号の文字列だけを確認したい場合は phpversion() を使用すると便利です。

PHP
<?php
// バージョン番号のみを画面に表示する
echo 'Current PHP version: ' . phpversion();
?>
実行結果
Current PHP version: 8.3.4

プログラムコード内でバージョンを判別する方法

開発しているシステムの中で、「特定のバージョン以上であればこの関数を使い、そうでなければ別の処理をする」といった条件分岐が必要な場合があります。

定数 PHP_VERSION を使用する

PHPには実行環境のバージョンを保持している定義済み定数 PHP_VERSION があります。

PHP
<?php
// 定数を使ってバージョンを表示
echo PHP_VERSION;

// バージョンごとの分岐例
if (PHP_VERSION_ID >= 80300) {
    echo "PHP 8.3以上の新機能を利用可能です。";
} else {
    echo "バージョンが古いため、代替処理を実行します。";
}
?>

PHP_VERSION_ID は数値を比較しやすいため、条件分岐にはこちらが推奨されます。

version_compare() 関数による比較

より厳密に、または柔軟にバージョンを比較したい場合は version_compare() 関数を利用します。

この関数は、セマンティックバージョニング形式の文字列を適切に比較してくれます。

PHP
<?php
$currentVersion = phpversion();

// 8.1.0 以上かどうかを判定
if (version_compare($currentVersion, '8.1.0', '>=')) {
    echo "この環境は PHP 8.1 以上です (現在: $currentVersion)";
} else {
    echo "アップデートを推奨します。";
}
?>
比較演算子意味
< | lt未満 (less than)
<= | le以下 (less than or equal)
> | gtより大きい (greater than)
>= | ge以上 (greater than or equal)
== | eq等しい (equal)
!= | ne等しくない (not equal)

各種ツールや環境での確認方法

モダンな開発環境では、直接コマンドを叩く以外にも確認方法が用意されていることが多いです。

Docker環境での確認

Dockerコンテナ内で動作しているPHPのバージョンを確認するには、docker exec コマンドを使用します。

Shell
# 起動中のコンテナ名を指定してバージョンを確認
docker exec -it [コンテナ名] php -v

Composerを利用した確認

プロジェクトが要求しているPHPのバージョンは、composer.json に記述されています。

しかし、実際にComposerがどのPHPを認識して動作しているかを知るには以下のコマンドが有効です。

Shell
# Composerが使用しているPHPと設定を表示
composer show --platform

これにより、PHP本体のバージョンだけでなく、インストールされているライブラリが要求する拡張モジュールの有無も一括で確認できます。

レンタルサーバーの管理画面

エックスサーバー、ConoHa WING、ロリポップなどのレンタルサーバーを利用している場合、各社のコントロールパネル (管理画面) からドメインごとに設定されているPHPのバージョンを確認・変更できます。

多くの場合、「PHP設定」や「言語設定」といったメニューの中に現在のバージョンが表示されています。

なぜバージョンの確認が重要なのか

単に「動けば良い」と思われがちなPHPのバージョンですが、定期的な確認と更新には重要な意味があります。

1. セキュリティリスクの回避

PHPには各バージョンに「サポート期間」が設定されています。

公式のサポートが終了した (EOL: End of Life) バージョンを使用し続けることは、脆弱性が発見されても修正パッチが提供されないことを意味します。

悪意のある攻撃者からサイトを守るためには、常にセキュリティサポート内のバージョンを利用しているか確認する習慣が必要です。

2. パフォーマンスの向上

PHPはメジャーアップデートごとに劇的な高速化を遂げてきました。

例えば、PHP 7系から8系への移行では、JIT (Just-In-Time) コンパイルの導入などにより、計算処理の速度が大幅に向上しました。

古いバージョンを使い続けることは、サーバーリソースを無駄に消費し、ユーザー体験を損なう要因にもなり得ます。

3. 新機能と構文の活用

最新のPHPでは、コードをより簡潔かつ安全に記述するための新しい構文が次々と導入されています。

  • 型指定の強化 (Union Types, Intersection Types)
  • 読み取り専用プロパティ (readonly)
  • 列挙型 (Enums)
  • アトリビュート (Attributes)

自身の環境がどのバージョンであるかを知ることで、これらのモダンな機能をどこまで取り入れられるかを判断できます。

よくあるトラブルと解決策

「phpコマンドが見つからない」と表示される

コマンドラインで php -v を実行した際に command not found と表示される場合、PHPがインストールされていないか、実行ファイルへのパスが設定されていません。

  • Windowsの場合: システムのプロパティから「環境変数」を開き、PHPのインストールフォルダを Path に追加してください。
  • Linux/macOSの場合: .bashrc.zshrcexport PATH=$PATH:/usr/local/bin/php (パスは環境により異なる) を追記してください。

バージョンを切り替えたい

開発案件ごとにバージョンを使い分けたい場合は、手動でパスを切り替えるよりも専用の管理ツールを使うのが一般的です。

  • macOS: brew を利用して複数バージョンをインストールし、link を切り替える。
  • Windows: phpenv for Windows や、XAMPP/MAMPなどのツールで設定を変更する。
  • 共通: Dockerを使用し、プロジェクトごとにコンテナのイメージを使い分けるのが最もクリーンな解決策です。

まとめ

PHPのバージョンを確認する方法は多岐にわたりますが、基本となるのは以下の3点です。

  1. コマンドラインphp -v を実行する。
  2. ブラウザphpinfo() を記述したファイルを確認する。
  3. プログラム内PHP_VERSION 定数や version_compare() を使用する。

特に、コマンドライン上のPHPとWebサーバー上のPHPが異なる場合があるという点は、多くの開発者が躓きやすいポイントです。

不具合が発生した際や新しいライブラリを導入する際は、まず「今どの環境の、どのバージョンのPHPを触っているのか」を正確に把握することから始めましょう。

定期的にバージョンをチェックし、最新の安定版を保つことは、システムの安全性とパフォーマンスを維持するための第一歩です。

この記事を参考に、現在の開発環境を改めて確認してみてください。