Laravelで.envファイルに記述した値が反映されているのか確認する方法について。
envヘルパ関数
Laravelにデフォルトで用意されている関数。.envファイルの指定した値を呼び出せる。
・env('環境変数名', 'デフォルト値')
- 環境変数がnullの場合にデフォルト値が表示される。
- デフォルト値はなくてもいい。
値がきちんと読み込まれているか確認するにはデフォルト値を設定しておく方がわかりやすい。
▼記述例
env('DB_CONNECTION')
env('DB_CONNECTION', 'default')
確認手順
実際にブラウザに表示してみる。
1. ビューの作成
rousources > views > env.blade.php
テストとして、DBに関する3つの環境変数を表示してみる。
env.blade.php
<p>{{ env('DB_CONNECTION', 'default')}}</p>
<p>{{ env('DB_HOST', 'default')}}</p>
<p>{{ env('DB_PORT', 'default') }}</p>
▼(補足)対象のデータ
.env
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
2. ルーティング
routes > web.php
web.php
//env
Route::get('env', function () {
return view('env');
});
3. ブラウザに表示
ターミナル
#サーバー起動
php artisan serve
環境変数の値が読み込まれていることが確認できた。
表示されない場合の対処法
キャッシュが読み込まれてしまい、.envファイルが読み込まれない場合がある。
以下コマンドでキャッシュをクリアする。
・$ php artisan config:clear
↓
ターミナル
$ php artisan config:clear
Configuration cache cleared!
↓
ローカル環境で実行してはいけないコマンド
php artisan config:cache
を実行すると、.env
ファイルを読み込みに行かなくなる。
すべての値が.envがきちんと記述されているのに、ブラウザの表示がnull(上記設定ではdefault)になる場合は、このコマンドが実行された可能性がある。
php artisan config:cache
とは?
本番環境用のコマンドで、すべての設定ファイルを一つにまとめることで高速化するためのコマンド。
設定が頻繁に変わる開発環境では推奨されていない。
また、実行すると、キャッシュが作成され、.envファイルを読み込みに行かなくなる点も注意が必要。
$ php artisan config:cache
Configuration cache cleared!