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.
Wert in .env | Rückgabewert von env() |
|---|---|
true | (bool) true |
(true) | (bool) true |
false | (bool) false |
(false) | (bool) false |
empty | (string) '' |
(empty) | (string) '' |
null | (null) null |
(null) | (null) null |
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.env-Dateien gehören nicht in die Versionskontrolle. Laravel bietet aber eine Verschlüsselungsfunktion.
.env verschlüsselt und ihr Inhalt liegt in .env.encrypted. Der Entschlüsselungsschlüssel wird in der Ausgabe angezeigt – speichern Sie ihn in einem sicheren Passwortmanager.
Zum Entschlüsseln verwenden Sie env:decrypt.
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.