Laravel - env() は常に null を返します 質問する

Laravel - env() は常に null を返します 質問する

env()ヘルパーが常に を返す理由を調べようとしていますnull。これは、ヘルパーがデフォルトで広く使用されているapp.phpファイルで特に問題を引き起こします。おそらく、謎のサーバー設定でしょうか?env()

私のenvファイル:

APP_ENV=production
APP_KEY=base64:mymagickey=
APP_DEBUG=false
APP_LOG_LEVEL=info
APP_URL=http://www.example.com

etc...

編集 - 以下を試してみました:

php artisan cache:clear
php artisan view:clear
php artisan config:cache

そしてもちろん、私はenv次のようなヘルパーを使用しています:env('APP_ENV')

しかし、まだ成功していません。奇妙なのは、$_ENVphp 変数にファイルのすべての変数が含まれていることです.env

ベストアンサー1

Laravel 5.2 以降では、env(...)設定をキャッシュすると関数は動作しなくなります。

Laravel ドキュメント言う

デプロイメント中にコマンドを使用する場合は、アプリケーションの他の場所からではなく、構成ファイル内からのconfig:cacheみ関数を呼び出していることを確認する必要があります。env

正しい答えは

アプリケーション内から env を呼び出す場合は、適切な構成値を構成ファイルに追加し、代わりにその場所から env を呼び出して、env 呼び出しを config 呼び出しに変換できるようにすることを強くお勧めします。

そして私は同じドキュメンテーション

簡単に修正するには、次の操作を実行します。

 php artisan config:clear

しかし、実稼働環境では常にそうであるように、構成がキャッシュされるとすぐに再び失敗します。

config:cacheそして、キャッシュ前に構成をクリアしたにもかかわらず、試したときに役に立たなかった理由が今では明らかになっているはずです。

おすすめ記事