Laravelのバージョン確認方法まとめ!コマンド・composer.lock・PHPコードでの確認手順を徹底解説

Laravel入門

Laravelで開発を進めたり、既存プロジェクトの保守・運用を行ったりする際、「現在動作しているLaravelのバージョンが何か」を確認しなければならない場面は頻繁にあります。

例えば、新しいパッケージを導入する際に対応バージョンを調べたり、PHPのバージョンをアップグレードする際、あるいはサポート期限(EOL)を迎えていないかセキュリティ監査を行う際などです。

結論から言うと、ターミナルで以下のコマンドを実行するのが最も手軽で確実です。

php artisan --version

しかし、コマンドラインが使えない本番サーバー(FTP接続のみの環境)や、プログラムコード内で動的にバージョンを判定したい場合、Docker/Laravel Sail環境で開発している場合など、状況によって適切な確認方法は異なります。

この記事では、Laravelのバージョンを確認する代表的な4つの方法(Artisanコマンド、Composer・ファイル、PHPコード、開発ツール)に加え、Laravel Sail環境での手順、サポート期間ポリシーとPHP対応バージョン一覧、よくあるエラーの対処法まで徹底解説します。

  1. Laravelのバージョン確認が必要になる3つの理由
    1. 1. セキュリティサポート期間(EOL)の把握
    2. 2. 利用可能な機能と非推奨(Deprecated)の確認
    3. 3. PHPバージョンや外部パッケージとの互換性確保
  2. 方法1:Artisanコマンドで確認する(最も推奨・簡単)
    1. 基本コマンド:php artisan –version
    2. 【おすすめ】php artisan about コマンドで環境情報を一括確認
    3. Laravel Sail・Docker環境での確認方法
    4. つまずきやすいエラー:「Could not open input file: artisan」
  3. 方法2:Composer(コマンド・ファイル)で確認する
    1. コマンドで確認する場合:composer show laravel/framework
    2. ファイルで確認する場合:composer.lock と composer.json の違い
      1. composer.lock で確認する手順(推奨)
      2. composer.json を見る際の注意点
  4. 方法3:PHPコード(プログラム内)で確認する
    1. app()->version() ヘルパー関数を使う
    2. Application::VERSION 定数を参照する
    3. Bladeテンプレートで画面に出力する
    4. php artisan tinker でサクッと確認する
  5. 方法4:ブラウザやデバッグツールで確認する(開発環境限定)
    1. 1. Laravel Debugbarのステータスバー
    2. 2. エラー画面(Ignition)のフッター
  6. Laravelのサポート期間(EOL)とPHP対応バージョン一覧表
    1. Laravelのサポートポリシー
    2. バージョン別サポート期限と対応PHPバージョン
  7. よくある質問(FAQ)
    1. Q1. php artisan –version と composer.json に書かれたバージョンが一致しないのはなぜですか?
    2. Q2. PHPのバージョンも同時に確認したいときはどうすればいいですか?
    3. Q3. ローカル開発サーバーを起動して確認したい場合は?
  8. まとめ|状況に応じた最適な確認方法の選び方
  9. 関連記事

Laravelのバージョン確認が必要になる3つの理由

Laravelのバージョンを正確に把握しておくことは、アプリケーションの安全性や開発効率を保つために非常に重要です。主な理由は以下の3点です。

1. セキュリティサポート期間(EOL)の把握

Laravelの各メジャーバージョンには、「バグ修正サポート期間(18ヶ月)」と「セキュリティ修正サポート期間(2年間)」が設定されています。サポート期間が終了したバージョン(EOL: End of Life)を放置すると、重大な脆弱性が発見されても公式修正パッチが提供されず、不正アクセスや情報漏洩のリスクが高まります。安全な運用を続けるためにも、現行バージョンのサポート状況を把握しておく必要があります。

2. 利用可能な機能と非推奨(Deprecated)の確認

Laravelはメジャーアップデートごとに多くの新機能が追加され、古い記法やヘルパーが非推奨・削除されます。Web上の技術記事や公式ドキュメントを参照する際、手元のLaravelバージョンとドキュメントの対象バージョンが一致していないと、「紹介されているメソッドが存在しない」「設定ファイルが見当たらない」といった混乱の原因になります。

3. PHPバージョンや外部パッケージとの互換性確保

Laravelアプリケーションが依存するサードパーティ製パッケージ(Composerパッケージ)には、「Laravel 10.x以上」「Laravel 11.x対応」といったバージョン制約が設定されています。また、動作可能なPHPのバージョン(PHP 8.2、8.3、8.4など)もLaravelのバージョンごとに厳密に決まっているため、事前に正確なバージョンを確認しておくことが不可欠です。

方法1:Artisanコマンドで確認する(最も推奨・簡単)

ローカル開発環境や、サーバーにSSH接続できる環境では、Artisanコマンドを利用するのが最速です。

基本コマンド:php artisan –version

プロジェクトのルートディレクトリ(artisanファイルが存在するディレクトリ)に移動し、以下のコマンドを実行します。

php artisan --version

短縮オプション -V(大文字)でも同様に実行できます。

php artisan -V

【実行結果の例】

Laravel Framework 11.15.0

このように、インストールされているLaravelフレームワークのメジャー・マイナー・パッチバージョンが瞬時に出力されます。

【おすすめ】php artisan about コマンドで環境情報を一括確認

Laravel 9以降では、php artisan about コマンドが利用可能です。Laravel本体のバージョンだけでなく、実行中のPHPバージョン、Composerバージョン、環境設定(APP_ENV)、キャッシュやデータベースのドライバー設定などを一覧表でまとめて確認できます。

php artisan about

【実行結果の例】

  Environment ...................................................................
  Application Name ..................................................... Laravel
  Laravel Version ...................................................... 11.15.0
  PHP Version ........................................................... 8.3.10
  Composer Version ...................................................... 2.7.7
  Environment ............................................................ local
  Debug Mode ............................................................. ENABLED
  URL ............................................................ localhost:8000
  Maintenance Mode .......................................................... OFF

  Cache .........................................................................
  Config ................................................................. NOT CACHED
  Routes ................................................................. NOT CACHED
  Events ................................................................. NOT CACHED

  Drivers .......................................................................
  Database ............................................................... mysql
  Log .................................................................... stack
  Mail ................................................................... smtp
  Queue .................................................................. database
  Session ................................................................ file

特定の情報のみを確認したい場合は、--only オプションや --json オプションを付与することもできます。

# 環境情報セクションのみ表示
php artisan about --only=environment

# JSON形式で出力(スクリプトやCI/CDでの自動判定に便利)
php artisan about --json

現在の環境変数設定を確認したい場合は、env — 環境変数を表示するコマンドも併せて参考にしてください。

Laravel Sail・Docker環境での確認方法

Dockerベースの開発環境である Laravel Sail を使用している場合、ホストマシンで直接 php artisan を実行すると、ホスト側のPHP環境が使われてしまうか、コマンドが見つからないエラーになります。Sail環境ではコンテナ経由で実行します。

# Sailコマンドを使用する場合
./vendor/bin/sail artisan --version

# または about コマンド
./vendor/bin/sail artisan about

素のDocker Compose環境で構築している場合は、次のようにコンテナ内で実行します。

docker compose exec app php artisan --version

つまずきやすいエラー:「Could not open input file: artisan」

ターミナルで php artisan --version を実行した際に、次のようなエラーが発生することがあります。

Could not open input file: artisan

【原因】
現在ターミナルで開いているディレクトリ(カレントディレクトリ)が、Laravelプロジェクトのルートディレクトリではないことが原因です。

【対処法】
ls(Windowsでは dir)を実行し、artisan ファイルが存在するプロジェクト直下のディレクトリへ cd で移動してから再実行してください。

# プロジェクトディレクトリへ移動
cd /path/to/laravel-project

# artisanファイルが存在するか確認
ls -la artisan

# バージョン確認を再実行
php artisan --version

方法2:Composer(コマンド・ファイル)で確認する

LaravelはComposerでパッケージ管理されています。コマンドラインからComposerコマンドを実行する方法と、ファイルを直接開いて確認する方法があります。

コマンドで確認する場合:composer show laravel/framework

プロジェクトディレクトリで以下のComposerコマンドを実行します。

composer show laravel/framework

【実行結果の例】

name     : laravel/framework
descrip. : The Laravel Framework.
keywords : framework, laravel
versions : * v11.15.0
type     : library
...

versions の項目に、実際にインストールされている正確なバージョン(例:v11.15.0)が表示されます。ライセンス情報や依存関係ツリーも併せて確認できるのがメリットです。

ファイルで確認する場合:composer.lock と composer.json の違い

SSH接続権限がないサーバーや、FTP経由でファイルを閲覧できる環境では、設定ファイルを直接テキストエディタで開いてバージョンを確認できます。

ファイル名 確認できる内容 注意点
composer.lock 実際にインストールされている正確なバージョン 正確なバージョンを確認したい時はこちらを見る
composer.json 許容されているバージョン制約(指定ルール) 実バージョンそのものではない(^11.0 などと表記)

composer.lock で確認する手順(推奨)

プロジェクト直下の composer.lock を開き、"name": "laravel/framework" を検索します。その直後にある "version" 行を確認します。

{
    "name": "laravel/framework",
    "version": "v11.15.0",
    "source": { ... }
}

この "version": "v11.15.0" が、プロジェクトに適用されている実際のバージョンです。

composer.json を見る際の注意点

プロジェクト直下の composer.json"require" セクションにも laravel/framework が記載されています。

"require": {
    "php": "^8.2",
    "laravel/framework": "^11.0",
    "laravel/tinker": "^2.9"
}

ここで書かれている ^11.0 は「メジャーバージョン11系の最新互換バージョンを許可する」という意味の制約(バージョン指定記号)です。実際にインストールされているのが 11.0.0 なのか 11.15.0 なのかは判別できないため注意しましょう。Composerの詳しい仕様については、初心者向け:Laravelでcomposer installを成功させるための完全ガイドも参考にしてください。

方法3:PHPコード(プログラム内)で確認する

管理画面にバージョンを表示させたい場合や、バージョンごとに処理を分岐させたい場合は、PHPコード内からLaravelのバージョンを取得します。

app()->version() ヘルパー関数を使う

Laravelのサービスコンテナヘルパー app() から version() メソッドを呼び出します。

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class SystemInfoController extends Controller
{
    public function index()
    {
        // Laravelのバージョン文字列を取得
        $laravelVersion = app()->version();

        return view('admin.system', [
            'version' => $laravelVersion,
        ]);
    }
}

返り値として "11.15.0" のような文字列が取得できます。

Application::VERSION 定数を参照する

Illuminate\Foundation\Application クラスが保持する VERSION クラス定数を直接参照することもできます。

<?php

use Illuminate\Foundation\Application;

echo Application::VERSION; // 例: 11.15.0

app()->version() の内部実装も、この Application::VERSION 定数を返却する仕組みになっています。

Bladeテンプレートで画面に出力する

管理画面のフッターやダッシュボードにバージョンを表示したい場合は、Bladeテンプレート内に直接記述できます。

<footer class="admin-footer">
    <p>Powered by Laravel v{{ app()->version() }} (PHP v{{ PHP_VERSION }})</p>
</footer>

php artisan tinker でサクッと確認する

対話型シェル tinker を使えば、コントローラー等を作成しなくてもターミナル上でコードの実行結果を確認できます。

php artisan tinker
> app()->version();
= "11.15.0"

> Illuminate\Foundation\Application::VERSION;
= "11.15.0"

> exit

方法4:ブラウザやデバッグツールで確認する(開発環境限定)

ローカル開発環境(APP_DEBUG=true)であれば、ブラウザ上の画面から確認することも可能です。

1. Laravel Debugbarのステータスバー

開発時によく導入される barryvdh/laravel-debugbar パッケージを有効にしている場合、画面下部に常駐するデバッグバーの右端にLaravelおよびPHPのバージョンアイコンが表示されます。

2. エラー画面(Ignition)のフッター

開発中に例外エラーや404画面が発生した際、Laravel標準のエラー画面(Ignition)の下部フッター部分に、現在のLaravelバージョンとPHPバージョンが表示されます。

【重要】本番環境ではバージョン情報を非表示にすること

本番環境(商用サーバー)で APP_DEBUG=true のまま運用すると、エラー画面にバージョン情報や環境変数、データベースパスワードなどが露出してしまいます。攻撃者にフレームワークの既知の脆弱性を突く手がかりを与えてしまうため、本番環境の .env では必ず APP_DEBUG=false に設定してください。

Laravelのサポート期間(EOL)とPHP対応バージョン一覧表

バージョンを確認したら、現在利用しているLaravelが公式サポート期間内であるかを確認しましょう。

Laravelのサポートポリシー

  • メジャーリリース頻度:年1回(毎年第1四半期〜第2四半期頃)
  • バグ修正(Bug Fixes):リリースから18ヶ月間
  • セキュリティ修正(Security Fixes):リリースから2年間(24ヶ月間)

バージョン別サポート期限と対応PHPバージョン

Laravelバージョン 対応PHPバージョン バグ修正期限 セキュリティ修正期限(EOL) ステータス
Laravel 12.x PHP 8.2 〜 8.5 2026年8月 2027年2月 最新・サポート中
Laravel 11.x PHP 8.2 〜 8.4 2025年9月 2026年3月 サポート中
Laravel 10.x PHP 8.1 〜 8.3 2024年8月 2025年2月 サポート終了(EOL)
Laravel 9.x PHP 8.0 〜 8.2 2023年8月 2024年2月 サポート終了(EOL)
Laravel 8.x PHP 7.3 〜 8.1 2022年7月 2023年1月 サポート終了(EOL)

もし確認したバージョンがすでにサポート終了(EOL)を迎えている場合は、安全な運用のために上位バージョン(Laravel 11や12)へのアップグレード計画を早めに立てることを強くおすすめします。

よくある質問(FAQ)

Q1. php artisan –version と composer.json に書かれたバージョンが一致しないのはなぜですか?

composer.json に記述されている "laravel/framework": "^11.0" は「許可するバージョンの範囲(制約)」を指定するものであり、実際にインストールされているバージョンではありません。実際にインストールされた正確なバージョンは php artisan --version または composer.lock に記録されています。

Q2. PHPのバージョンも同時に確認したいときはどうすればいいですか?

ターミナルで php -v を実行するか、Laravel 9以降であれば php artisan about を実行すると、PHPとLaravelのバージョンを一度に確認できます。

Q3. ローカル開発サーバーを起動して確認したい場合は?

バージョン確認後にローカル環境で動作を確かめたい場合は、php artisan serve コマンドで開発サーバーを起動します。詳細は serve — 開発サーバーを起動するコマンド をご覧ください。

まとめ|状況に応じた最適な確認方法の選び方

Laravelのバージョン確認方法を用途・環境別にまとめると以下のようになります。

確認したい状況・環境 最適な確認方法 コマンド / ファイル / コード
ターミナルが使える環境(最速) Artisanコマンド php artisan --version または php artisan -V
PHPや環境情報も一括で見たい Aboutコマンド php artisan about
Sail / Docker環境 コンテナ経由でArtisan実行 ./vendor/bin/sail artisan --version
FTP・ファイル閲覧のみ(本番等) 設定ファイルを開く composer.lock"name": "laravel/framework"
Composerコマンドが使える Composerパッケージ情報 composer show laravel/framework
PHPプログラム内で取得・判定 ヘルパー / 定数 app()->version() または Application::VERSION
Bladeテンプレートで画面表示 Blade記法 {{ app()->version() }}

基本的には php artisan --version または php artisan about を使えば間違いありません。コマンドが実行できない環境では composer.lock を確認するなど、状況に応じて柔軟に使い分けてみてください。

レン (Wren)

こんにちは。レンです。

Laravelのコードの森に住んでいる、小さな案内役です。
ルーティングの枝やクラスの影を歩きながら、コードの流れや仕組みを眺めています。

このサイトでは、Laravelの基本から実装のコツまで、開発で役立つポイントを静かに整理しています。
難しいことを増やすのではなく、コードの見通しが少し良くなるヒントを届けるのが役目です。

「この処理はどこに書くのがいいのか」
「Laravelではどう考えると整理できるのか」

そんな疑問に、小さなメモを残すような気持ちで記事を書いています。

コードを書いている途中で迷ったとき、
このサイトが少し立ち止まって整理できる場所になればうれしいです。

レン (Wren)をフォローする

コメント