ステージングおよび本番環境で、カスタム定義変数を.envファイルから取得しようとすると、nullが返されます。 APPの新しいキーを作成して、すべての種類のキャッシュをクリアしようとしましたが、結果は同じです。
APP_NAME="App - Staging"
APP_ENV=staging
APP_KEY=<HIDDEN_KEY>
APP_DEBUG=true
APP_LOG_LEVEL=none
APP_URL=https://staging.app.com
APP_BASE_URL="https://app-staging.app.com"
キャッシュのクリア
php artisan config:clear
php artisan cache:clear
php artisan route:clear
php artisan view:clear
php artisan config:cache
しかし、ブレードビューでフォローを使用すると何も得られません
env('APP_BASE_URL') returns null
これは、php artisan config:cacheを実行したためです。 config:cacheを使用している場合、env()呼び出しは構成ファイルでのみ行う必要があります。
ここを参照してください: https://laravel.com/docs/5.6/configuration#configuration-caching
この投稿は私の問題を解決しました、私はconfig/app.phpでカスタム構成を定義しました https://laracasts.com/discuss/channels/laravel/accessing-custom-environment-variable
/*
|-------------------------------------------------------------------------
| Custom config variables
|-----------
|
*/
'base_url' => env('APP_BASE_URL', 'http://localhost'),
それから.envで私は見つけました:
APP_BASE_URL="https://app-staging.app.com"
最後にキャッシュをクリアし、動作しました。
ブレードビューで
{{ config('app.base_url') }}
はい、nullのみを返します
デプロイメントプロセス中にconfig:cache
コマンドを実行する場合は、構成ファイル内からのみenv関数を呼び出していることを確認する必要があります。構成がキャッシュされると、.envファイルはロードされず、env関数へのすべての呼び出しはnullを返します。
laravelドキュメント https://laravel.com/docs/5.6/configuration#configuration-caching を参照してください