env
php artisan envはLaravelアプリケーションが現在動作している環境(local, production, staging など)を表示します。
- カテゴリ: artisan
- 掲載バージョン: Laravel 12・PHP 8.4
- 名前空間 / FQCN / コマンド:
php artisan env - 関連:
config:list,config:cache,config:clear,tinker - 変更履歴: 追加: Laravel 4.0 (永続的), 非推奨: なし
要点(TL;DR)
- 何に使うか:現在のアプリケーション環境を確認する
- 最低限の使い方:
php artisan env - よくある罠
.envが読み込まれていないと誤った環境を表示- 本番環境で実行すると
productionと出力され、開発者が混乱 - デバッグ時に環境が意図せず切り替わることがある
概要
php artisan envはアプリケーションの環境を即座に把握できる便利なコマンドです。デプロイ前に設定が正しいか確認したり、本番で不具合が発生した際に環境情報を手軽に取得できます。
構文 / シグネチャ
php artisan env
| 引数 | 型 | 必須 | 既定値 | 説明 |
|---|---|---|---|---|
| — | — | — | — | — |
戻り値:string
表示された環境名(例: local, production)。標準出力に書き込まれ、プロセスは終了コード 0 で終了。
例外/副作用:
- 例外は投げられない
- ファイルやキャッシュの変更は行わない
使用例
最小例
php artisan env
実務例
# 本番環境で実行
$ php artisan env
production
# CI/CDパイプラインで確認
$ php artisan env > env.txt
よくある落とし穴・注意
.env未設定- 開発環境で
.envファイルがない場合、デフォルトでproductionが表示される。 - キャッシュされた設定
config:cacheで設定をキャッシュしていると、APP_ENVがキャッシュに残っている場合がある。- 複数環境
- Dockerや複数のホストで同じアプリを走らせる場合、コンテナ内で
envコマンドを実行すると想定外の環境が表示されることがある。
代替・関連APIとの比較
| API | 用途 | 選定基準 |
|---|---|---|
config('app.env') |
PHP内で環境を取得 | コード内で確認したいとき |
php artisan tinker |
インタラクティブで確認 | デバッグや一時的確認 |
php artisan config:list |
設定全体を確認 | 設定項目を把握したいとき |
envはシンプルに環境名だけが必要なときに最適。設定全体を確認したい場合は config:list を併用すると便利です。
テスト例(Pest)
it('shows the current environment', function () {
$output = shell_exec('php artisan env');
expect(trim($output))->toBe(env('APP_ENV', 'production'));
});
トラブルシュート(エラー別)
| 症状/エラー | 原因 | 対処 |
|---|---|---|
| 出力が空 | Laravel が正しく起動していない | php artisan を実行して確認 |
production と表示される |
APP_ENV が設定されている |
.env または環境変数を確認 |
APP_ENV が local だが production と表示 |
キャッシュが残っている | php artisan config:clear を実行 |

