web-dev-qa-db-ja.com

Laravel 5.6 env( 'APP_BASE_URL')はnullを返します

ステージングおよび本番環境で、カスタム定義変数を.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
4
danyal14

これは、php artisan config:cacheを実行したためです。 config:cacheを使用している場合、env()呼び出しは構成ファイルでのみ行う必要があります。

ここを参照してください: https://laravel.com/docs/5.6/configuration#configuration-caching

6
pseudoanime

この投稿は私の問題を解決しました、私は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') }}
4
danyal14

はい、nullのみを返します

デプロイメントプロセス中にconfig:cacheコマンドを実行する場合は、構成ファイル内からのみenv関数を呼び出していることを確認する必要があります。構成がキャッシュされると、.envファイルはロードされず、env関数へのすべての呼び出しはnullを返します。

laravelドキュメント https://laravel.com/docs/5.6/configuration#configuration-caching を参照してください

2
Parithiban