タイトル: Laravelのバージョンの確認方法
SEOタイトル: Laravel バージョン確認方法完全ガイド
| この記事の要点 |
|
結論: artisan --version が最速
php artisan --version
# Laravel Framework 11.9.0
php artisan -V # 短縮形
これが一番早く正確な確認方法です。アプリのルートディレクトリで実行してください。
確認方法 5 つ
1. php artisan --version
cd /path/to/laravel/project
php artisan --version
# → Laravel Framework 11.9.0
2. composer show
composer show laravel/framework
# name : laravel/framework
# descrip. : The Laravel Framework.
# keywords : framework, laravel
# versions : * v11.9.0
# released : 2024-05-28, 4 weeks ago
# type : library
# license : MIT License
# ...
# 全パッケージのバージョン
composer show
composer show --installed
# 古いものを探す
composer outdated laravel/framework
3. composer.json を読む
{
"require": {
"php": "^8.2",
"laravel/framework": "^11.0",
"laravel/sanctum": "^4.0",
"laravel/tinker": "^2.9"
}
}
^11.0 は11.x の任意のバージョンに更新可能を意味します(12.0 は除外)。実際のインストール版は composer.lock や artisan --version で。
4. composer.lock を読む
# composer.lock に正確なバージョンが入っている
grep -A 2 '"laravel/framework"' composer.lock | head -5
# "name": "laravel/framework",
# "version": "v11.9.0",
# jq で
jq '.packages[] | select(.name == "laravel/framework") | .version' composer.lock
# "v11.9.0"
5. PHP コード内から
// app() ヘルパー
echo app()->version(); // 11.9.0
// 直接クラス参照
use Illuminate\Foundation\Application;
echo Application::VERSION; // 11.9.0
// tinker で確認
// $ php artisan tinker
// >>> app()->version();
// => "11.9.0"
Blade で画面に表示
{{-- resources/views/layouts/app.blade.php --}}
Laravel のリリースサイクル
Laravel は1 年に 1 メジャーのペースで新バージョンが出ます(2024 年以降)。2 年のバグ修正 + 3 年のセキュリティ修正がサポート方針です。
| バージョン | リリース | バグ修正期限 | セキュリティ期限 | 必要 PHP |
|---|---|---|---|---|
| Laravel 9 | 2022/02 | 2023/08 | 2024/02 | PHP 8.0+ |
| Laravel 10 | 2023/02 | 2024/08 | 2025/02 | PHP 8.1+ |
| Laravel 11 | 2024/03 | 2025/09 | 2026/03 | PHP 8.2+ |
| Laravel 12 | 2025/Q1 | 2026/Q3 | 2027/Q1 | PHP 8.2+ |
※ Laravel 6 以降LTS という概念は廃止され、すべてのリリースが同じサポート期間となりました。
PHP / Composer の互換性
# PHP バージョン確認
php -v
# PHP 8.3.7 (cli) (built: May 9 2024 09:50:42)
# Composer バージョン確認
composer --version
# Composer version 2.7.6 2024-05-04 23:03:15
# Laravel が要求する PHP バージョンは
# composer.json の require の "php" を参照
grep '"php"' composer.json
# "php": "^8.2"
環境ごとのバージョン確認スクリプト
#!/bin/bash
# check_versions.sh
echo "=== Versions ==="
echo "PHP: $(php -v | head -1)"
echo "Composer: $(composer --version)"
echo "Laravel: $(php artisan --version)"
echo "DB: $(mysql --version)"
echo "Node: $(node --version)"
echo "NPM: $(npm --version)"
アップグレード時のチェック
# 1. 現在のバージョン確認
php artisan --version
# 2. composer.json の制約を変更
# "laravel/framework": "^11.0" → "^12.0"
# 3. 依存更新
composer update
# 4. 設定ファイルの差分確認
# 公式の Upgrade Guide を読む
# https://laravel.com/docs/12.x/upgrade
# 5. テスト実行
php artisan test
# 6. キャッシュクリア
php artisan optimize:clear
Laravel Shift で自動アップグレード
Laravel Shift は有償のアップグレード自動化サービス。1 メジャー版あたり $19 程度で、PR を作ってくれます。手作業の漏れを減らせます。
FAQ
Q: php artisan --version でエラー
A: アプリのルート(artisan ファイルがあるディレクトリ)で実行していますか? PHP のパスは合っていますか? which php で確認。
Q: 開発と本番で違うバージョン
A: composer.lock をコミット + 本番は composer install --no-dev で確実に同期。
Q: Laravel 5.x のサポートはまだ?
A: Laravel 5.x は 2020 年に EOL。セキュリティ修正も提供されません。早急に 10.x 以上へ移行を。
Q: app()->version() と Application::VERSION どちらを使う?
A: 同じ値が返ります。Blade では app()->version()、ファサード使えないクラス外でも Application::VERSION でOK。