2017-07-09 2 views
0

Ich habe eine Software erstellt, die das Laravel-Konfigurationsmodul verwendet, um bestimmte Einstellungen zu verwenden.Wie halten Sie Konfigurationsdateien in Laravel richtig?

Wir verwenden Laravel Forge zur automatischen Bereitstellung, und bei jeder Bereitstellung werden die Konfigurationen auf den Status "leer" zurückgesetzt, wodurch bei jeder Bereitstellung einige Probleme auftreten.

Ich habe die Dateien zu .gitignore hinzugefügt, aber scheint nicht den Trick zu tun.

Kann mir jemand Punkt in die richtige Richtung, um sie die Wieder setzen diese Konfigurationsdateien zu speichern, ohne everyime wir bereitstellen?

Danke allen!

+0

Welche Konfigurationsdateien reden Sie bearbeiten? Verwenden Sie die .env-Datei? – OuailB

+0

Nein, ich benutze .php Dateien, unter Config-Verzeichnis, Sache ist die Software als Einstellungs-Editor, der die Datei schreibt. Das Problem ist, dass diese geänderten Einstellungen bei jeder automatischen Bereitstellung zurückgesetzt werden. –

Antwort

2

Es wäre hilfreich, ein Beispiel für Ihre Konfiguration und .env Dateien vertrauen in jeder Umgebung auf .env Dateien

Config-Dateien für mehrere Umgebungen zu haben.

env() gibt entweder die passende Variable von Ihrem .env oder der Wert angegeben.

so würde env('QUEUE_DRIVER', 'sqs') Blick in die .env-Datei für die QUEUE_DRIVER Variable, wenn es nicht eine Variable es gibt den Standard 'sqs' finden.

Ein Beispiel für eine Warteschlangenkonfigurationsdatei sieht möglicherweise so aus.

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', 
     ], 
     ], 
    ]; 

Sie würden dann Ihre Variablen in Ihrer .env-Datei für jede Umgebung.

Die Produktion kann so aussehen.

.env

QUEUE_DRIVER=sqs 

SQS_KEY=yoursqskey 
SQS_SECRET=yoursqssecret 
SQS_URL=yoursqsurl 

Ihre lokale Umgebung könnte wie folgt aussehen.

.env

QUEUE_DRIVER=sync 

Sie können Ihre .env Datei in Schmiede unter Seiten> Site Details> Umwelt

+0

Thing verwenden wir ein Web-Interface, um die Einstellungen zu bearbeiten, oder? Die Konfiguration wird dann unter dem Verzeichnis ** config ** unter der gleichen Datei gespeichert. Problem ist jedes Mal, wenn wir automatisch bereitstellen, die Configs zurückgesetzt werden, so dass die Dateien in gitignore –

+0

Sie sollten keine Umgebungsvariablen in Ihren Konfigurationsdateien haben. Was Sie tun, ist Ihre Configs zu Ihrem Repo zu committen und Sie fügen '.env' Dateien zu' '.gitignore' hinzu, sonst müssen Sie auf Probleme stoßen. Wenn Sie Ihre Konfigurationsdateien posten, kann ich Ihnen weitere Anleitungen geben. – whoacowboy

Verwandte Themen