2017-02-05 5 views
0

私はすべての段階で異なるパスワードを持っています。私は.envファイルにも異なる設定があります。ローカル、ステージング、プロダクション用の.envファイルは1つだけですか?

最終的には、手動で正しいパスワードとキーを設定して、ファイルをステージに変更した後に手動で.envファイルをアップロードすることになります。より良い方法はありません、おそらく公式のラベールの方法ですか?そう、再び

は私が持っていると言う:.env

DB_DATABASE=myDBnameLocal 
DB_USERNAME=myuserLOCAL 
DB_PASSWORD=mypasswordLOCAL 

私はむしろ3つの異なるファイルを持っているなど

をステージングに異なる値、と私は

に環境を設定する第四のファイル

.stage私のアプリがどの環境にあるかを定義します。その値に応じて、私は正しい012をロードしますファイル。

このようなことを行う方法はありますか、それとも全く違う方法がありますか?

は一つの大きなファイルにすべてのパスワードを定義し、このようなものを呼び出すと言う:

DB_DATABASE_LOCAL=myDBnameLocal 
DB_USERNAME_LOCAL=myuserLOCAL 
DB_PASSWORD_LOCAL=mypasswordLOCAL 

DB_DATABASE_PRODUCTION=myDBnamePRODUCTION 
DB_USERNAME_PRODUCTION=myuserPRODUCTION 
DB_PASSWORD_PRODUCTION=mypasswordPRODUCTION 

これは非常に安全であるように思えませんが。

答えて

0

あなたが今やっているやり方は正しい方法です。これは環境ファイルを環境ごとに異なるようにするためのラーベル方法です。環境のパラメータが変更されたときはいつでも、ファイルを変更することができます。 dbがステージングエリアで変更されたとします。

ローカル用の.envでのプロダクション設定は致命的ですが、なぜですか?

  1. まず、ローカルマシン上でのプロダクション設定を維持するのは安全ではありません。
  2. 生産とステージングの設定を同じファイルに保存することで、IFとBUTSを使用できます。

    if(env('APP_ENV') === 'local') { 
        $username = env('DB_LOCAL_USERNAME'); 
    } 
    
  3. 今すぐあなたの変数が変更された環境で記録しておくと、すべての環境での同期のすべての変数を維持する必要があります。

これはすべて私の視点からのものです。

関連する問題