2017-04-06 24 views
1

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

私のenvファイル

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

etc... 

EDIT - 私は以下試してみました:

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

とofcourseの、私はこのようなenvヘルパー使用しています:env('APP_ENV')

しかし、まだを失敗。 wierdの部分は、$_ENVのPHP変数には、.envのすべての変数が含まれています。

+1

あなたはtinker経由で値をチェックしようとしましたか? Laravel 5のどのバージョンを使用していますか?最新のものは '5.4.17'ですので、あなたの最新バージョンは – zaherg

答えて

0

問題は、ホスティング自体にありました。別のウェブホスティングにウェブサイトを展開したとき、env()は期待どおりの値を返しました。

1

それはで解決することができる「.env」既知のバグです:(時々、あなたの.envファイルまたはデータベースフォルダで物事を更新するときに、その可能性は、例えば作成し、移行を削除

php artisan config:cache 
+4

です。一部のユーザーはphp artisan config:clearを行う必要があります。 – rebirth1078

+1

Laravel 5.5 'php artisan config:clear'を実行しなければなりませんでした。ありがとう – dacastro4

0

同じ名前をもう一度、またはシード者と同じ)、変更は行われません。

私はこれらの問題を抱えており、以下のコマンドが私のために働いていました。

試行: composer dump-autoload 多分役立ちます。

2

env(APP_ENV);の代わりに\Config::get('app.env');を使用すると、最終的に同じエラーが発生するため、ライブウェブサイトには適しません。

あなたは、あなたのENVからカスタム変数を追加するには、設定アプリに移動して、この検索する場合:例えば、それは以下のことができるよう、「'env' => env('APP_ENV', 'production'),」の下に新しい行を追加し

/* 
    |-------------------------------------------------------------------------- 
    | Application Environment 
    |-------------------------------------------------------------------------- 
    | 
    | This value determines the "environment" your application is currently 
    | running in. This may determine how you prefer to configure various 
    | services your application utilizes. Set this in your ".env" file. 
    | 
    */ 

'env' => env('APP_ENV', 'production'), 

を:

\Config::get('app.key'); 

:あなたはこのような "キー" 変数を呼び出すことができます

/* 
    |-------------------------------------------------------------------------- 
    | Application Environment 
    |-------------------------------------------------------------------------- 
    | 
    | This value determines the "environment" your application is currently 
    | running in. This may determine how you prefer to configure various 
    | services your application utilizes. Set this in your ".env" file. 
    | 
    */ 

'env' => env('APP_ENV', 'production'), 
'key' => env('APP_KEY'), 

アプリのenvに「key」のような新しい変数を追加する場合は、config:cacheを使用してキャッシュをリセットする必要があります。

関連する問題