2017-07-09 11 views
0

Laravel設定モジュールを使用して特定の設定を使用するソフトウェアを作成しました。Laravelに設定ファイルを正しく保存する方法は?

私たちはLaravel Forgeを使用して自動展開しており、展開するたびにconfigsは "ブランク"状態にリセットされ、展開するたびにいくつかの問題が解消されます。

私はファイルを.gitignoreに追加しましたが、そのトリックはしていないようです。

私たちが展開するたびに再設定することなく、この設定ファイルを保存するには誰でも正しい方向に向けることができますか?

ありがとうございました!

+0

? .envファイルを使用していますか? – OuailB

+0

いいえ、configディレクトリの下にある.phpファイルを使用していますが、これはファイルを書き込む設定エディタとしてのソフトウェアです。問題は、変更された設定が各自動デプロイ時にリセットされることです。 –

答えて

2

複数の環境のために

コンフィグファイルは、それぞれの環境で.envファイルに依存してあなたの設定の例と.envファイルを持っていると便利だろう。

env()は、一致する変数を.envまたは指定された値から戻します。それがデフォルト'sqs'を返す変数を見つけることができない場合

のでenv('QUEUE_DRIVER', 'sqs')QUEUE_DRIVER変数の.envファイルになります。

キュー設定ファイルの例は、次のようになります。

のconfig/queue.php

<?php 

return [ 
    'default' => env('QUEUE_DRIVER', 'sqs'), 
     'connections' => [ 
     'sync' => [ 
      'driver' => 'sync', 
     ], 
     'sqs' => [ 
      'driver' => 'sqs', 
      'key' => env('SQS_KEY'), 
      'secret' => env('SQS_SECRET'), 
      'prefix' => env('SQS_URL'), 
      'queue' => 'general_queue', 
      'region' => 'us-east-1', 
     ], 
     ], 
    ]; 

あなたはその後、それぞれの環境のためにあなたの.envファイルにあなたの変数を設定します。

生産状況は次のようになります。

.env

QUEUE_DRIVER=sqs 

SQS_KEY=yoursqskey 
SQS_SECRET=yoursqssecret 
SQS_URL=yoursqsurl 

あなたのローカル環境は、次のようになります。

.env

QUEUE_DRIVER=sync 

あなたはサイトの下の鍛造であなたの.envファイルを編集することができます>サイト詳細>設定ファイルは、あなたが話している環境

+0

ウェブインターフェースを使って設定を編集しているのですか?そのため、configは** config **ディレクトリの下に同じファイルの下に保存されます。 PRoblemは自動展開するたびにconfigsがリセットされるので、gitignoreにあるファイル –

+0

設定ファイルには環境変数を設定しないでください。あなたがやることはあなたのリポジトリにあなたのconfigsをコミットし、 '.env'ファイルを' .gitignore'に追加することです。そうしないと、直面している問題があります。あなたが設定ファイルを投稿したら、私はあなたにいくつかのガイダンスを与えることができます。 – whoacowboy

関連する問題