LoginSignup
6
6

More than 3 years have passed since last update.

Laravel で .env の値が取得できない

Posted at

おさらい

  • Laravel では環境変数の設定に .env を使う
  • .env の値にアクセスするには env('<config>.<key>') とする
    • 例: env('app.url')
  • 設定 5.7 Laravel

問題

  • ある状況で env('app.url')null が返ってくるようになった
    • とくになにもアプリケーションコードさわってない

原因

  • 設定ファイルをキャッシュすると、env() 関数が null を返すようになる
    • php artisan config:cache

Note: 開発過程の一環としてconfig:cacheコマンド実行を採用する場合は、必ずenv関数を設定ファイルの中だけで使用してください。設定ファイルがキャッシュされると、.envファイルはロードされなくなり、env関数の呼び出しは全てnullを返します。

設定 5.7 Laravel https://readouble.com/laravel/5.7/ja/configuration.html#configuration-caching

対策

  • config ファイルで env 関数を使う
config/app.php

<?php

return [
    'name' => env('APP_NAME', 'Laravel'),
    'env' => env('APP_ENV', 'production'),
    'debug' => env('APP_DEBUG', false),
    // ...
  • そして config() 関数でアクセスする
6
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
6