Einführung
Alle Konfigurationsdateien des Laravel-Frameworks liegen im Verzeichnisconfig/. Zu jeder Option gibt es einen Kommentar; öffnen Sie die Dateien und werfen Sie einen Blick auf die verfügbaren Optionen.
In den Konfigurationsdateien werden Datenbank-Zugangsdaten, Mailserver-Einstellungen, die Anwendungs-URL, der Verschlüsselungsschlüssel und viele weitere Kernwerte verwaltet.
Der Befehl about
Mit dem Artisan-Befehl about erhalten Sie eine Übersicht über Konfiguration, Treiber und Umgebung Ihrer Anwendung.
--only.
config:show praktisch.
Umgebungskonfiguration (.env)
Häufig möchten Sie Konfigurationswerte je nach Ausführungsumgebung umschalten – zum Beispiel unterschiedliche Cache-Treiber lokal und in Produktion. Laravel nutzt dafür die PHP-Bibliothek DotEnv. Bei einer Neuinstallation enthält das Projekt-Root eine Datei.env.example mit üblichen Umgebungsvariablen, die während der Installation automatisch nach .env kopiert wird.
Bei Teamentwicklung ist es hilfreich,
.env.example gepflegt in der Repository-Historie zu halten. Mit Platzhalterwerten sehen andere Teammitglieder klar, welche Umgebungsvariablen benötigt werden.Sicherheit der Umgebungsdateien
Laravel bringt jedoch eine Verschlüsselungsfunktion mit, sodass Sie verschlüsselte Umgebungsdateien sicher in der Versionskontrolle ablegen können.Zusätzliche Umgebungsdateien
Beim Start der Anwendung prüft Laravel, ob die UmgebungsvariableAPP_ENV oder das CLI-Argument --env gesetzt ist. Ist dies der Fall und existiert eine Datei .env.[APP_ENV], wird diese geladen. Andernfalls wird die Standard-.env verwendet.
Typen von Umgebungsvariablen
Alle Werte in der.env-Datei werden als Strings geparst. Damit env() aber unterschiedliche Typen zurückgeben kann, sind einige Spezialwerte vordefiniert.
Werte mit Leerzeichen setzen Sie in doppelte Anführungszeichen.
Umgebungsvariablen abrufen
Alle Variablen aus.env werden bei jedem Request in das PHP-Superglobal $_ENV geladen. Innerhalb von Konfigurationsdateien holen Sie Werte über die Funktion env().
Aktuelle Umgebung ermitteln
Die aktuelle Umgebung wird durch die VariableAPP_ENV in der .env-Datei bestimmt. Sie lässt sich mit der Methode environment der Facade App abrufen.
Umgebungsdateien verschlüsseln
Unverschlüsselte Umgebungsdateien gehören nicht in die Versionskontrolle. Laravel bietet jedoch eine Funktion zum Verschlüsseln von Umgebungsdateien.Verschlüsselung
Zum Verschlüsseln einer Umgebungsdatei verwenden Sie den Befehlenv:encrypt.
.env-Datei verschlüsselt und der verschlüsselte Inhalt in einer Datei .env.encrypted gespeichert. Der Entschlüsselungsschlüssel wird in der Ausgabe des Befehls angezeigt – bewahren Sie ihn in einem sicheren Passwortmanager auf.
Möchten Sie einen eigenen Verschlüsselungsschlüssel angeben, nutzen Sie die Option --key.
Die Länge des angegebenen Schlüssels muss mit der vom verwendeten Verschlüsselungsverfahren geforderten Schlüssellänge übereinstimmen. Standardmäßig wird
AES-256-CBC verwendet, das einen 32 Zeichen langen Schlüssel benötigt. Über die Option --cipher können Sie jedes von Laravels Verschlüsselung unterstützte Verfahren einsetzen..env und .env.staging, geben Sie mit der Option --env an, welche Umgebung verschlüsselt werden soll.
Lesbare Variablennamen
Beim Verschlüsseln einer Umgebungsdatei können Sie mit der Option--readable nur die Werte verschlüsseln und die Variablennamen lesbar belassen.
env:decrypt keine zusätzlichen Optionen erforderlich sind.
Bei Verwendung der Option
--readable werden Kommentare und Leerzeilen aus der ursprünglichen Umgebungsdatei nicht in die verschlüsselte Ausgabe übernommen.Lesbare verschlüsselte Umgebungsdateien aktualisieren
Beim Aktualisieren einer lesbaren verschlüsselten Umgebungsdatei behält Laravel unveränderte Werte bei und entfernt Variablen, die in der Quell-Umgebungsdatei nicht mehr existieren.--force. Damit können Sie den Verschlüsselungsschlüssel wechseln oder eine ungültige verschlüsselte Datei ersetzen.
Entschlüsselung
Zum Entschlüsseln einer Umgebungsdatei verwenden Sie den Befehlenv:decrypt. Dieser benötigt einen Entschlüsselungsschlüssel, den Laravel aus der Umgebungsvariable LARAVEL_ENV_ENCRYPTION_KEY bezieht.
--key übergeben.
env:decrypt ausgeführt, entschlüsselt Laravel den Inhalt der Datei .env.encrypted und schreibt ihn in die Datei .env.
Für ein benutzerdefiniertes Verschlüsselungsverfahren geben Sie die Option --cipher an.
.env und .env.staging, geben Sie mit der Option --env an, welche Umgebung entschlüsselt werden soll.
--force an.
Zugriff auf Konfigurationswerte
Mit der FacadeConfig oder der globalen Funktion config() greifen Sie überall in Ihrer Anwendung auf Konfigurationswerte zu. Sie verwenden die „Punkt”-Notation aus Dateiname und Optionsname.
Config::set() oder indem Sie ein Array an config() übergeben.
Konfigurations-Cache
Für bessere Performance können Sie alle Konfigurationsdateien in einer Datei zwischenspeichern..env-Datei bei Anfragen oder Artisan-Aufrufen nicht mehr geladen. env() liefert dann nur noch systemseitige Umgebungsvariablen.
Den Cache leeren Sie mit config:clear.
Konfigurationsdateien veröffentlichen
Viele Konfigurationsdateien liegen bereits im Verzeichnisconfig/, aber einige wie cors.php oder view.php sind standardmäßig nicht sichtbar.
Zum Veröffentlichen verwenden Sie config:publish.
Debug-Modus
Die Optiondebug in config/app.php legt fest, wie viele Fehlerinformationen Nutzern angezeigt werden. Sie folgt standardmäßig dem Wert von APP_DEBUG in .env.
Wartungsmodus
Im Wartungsmodus wird für jede Anfrage eine benutzerdefinierte View angezeigt. So können Sie die Anwendung während Updates oder Wartungsarbeiten vorübergehend „deaktivieren”.Wartungsmodus aktivieren
--refresh wird der Browser nach der angegebenen Zeit automatisch neu geladen.
--retry wird als Wert für den HTTP-Header Retry-After verwendet.
Wartungsmodus umgehen
Über ein Secret-Token gewähren Sie einzelnen Nutzern Zugang.--with-secret erzeugt Laravel das Token automatisch.
Wartungsmodus in Multi-Server-Setups
Standardmäßig verwaltet Laravel den Wartungsmodus dateibasiert. Bei mehreren Servern ist die cachebasierte Variante praktisch.Wartungs-View vorab rendern
Wenn Sie während eines Deploymentsphp artisan down ausführen, könnten Nutzer während des Update-Prozesses Fehler zu Gesicht bekommen. Mit --render können Sie die View vorab rendern.
Wartungsmodus deaktivieren
Sie können das Standard-Wartungs-Template anpassen, indem Sie
resources/views/errors/503.blade.php anlegen.Nächste Schritte
Routing
Lernen Sie die Grundlagen des Routings zur Verknüpfung von URLs und Controllern.