0Pricing
PHP Academy · Lektion

Umgebungsvariablen und .env-Dateien

Verwalten Sie vertrauliche Konfigurationen mit .env-Dateien und dotenv-Bibliotheken in PHP.

Umgebungsvariablen und .env-Dateien ist eine kostenlose PHP Academy-Lektion auf CoddyKit. Dies ist Lektion 2 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des PHP Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der PHP Academy-Kurs umfasst insgesamt 4 Lektionen.

Warum Umgebungsvariablen verwenden?

Fest im Quellcode hinterlegte Zugangsdaten oder umgebungsspezifische Konfigurationen sind unsicher und machen Deployments anfällig. Umgebungsvariablen trennen die Konfiguration vom Code.

Die .env-Datei

Eine .env-Datei enthält Schlüssel-Wert-Paare, die beim Start in die Umgebung geladen werden. Fügen Sie sie zu .gitignore hinzu – committen Sie sie NIEMALS in die Versionsverwaltung.

# .env
APP_ENV=production
APP_KEY=base64:...
DB_HOST=127.0.0.1
DB_NAME=myapp
DB_USER=myapp_user
DB_PASS=supersecret

REDIS_HOST=127.0.0.1
MAIL_HOST=smtp.mailtrap.io

Laravel-.env-Integration

Laravel verwendet vlucas/phpdotenv, um .env automatisch zu laden. Greifen Sie mit dem env()-Helper auf die Werte zu.

<?php
$host = env("DB_HOST", "127.0.0.1"); // "127.0.0.1" is the default

config() vs. env()

Verwenden Sie env() nur in config/*.php-Dateien. Verwenden Sie überall sonst config("database.host") – das funktioniert auch mit dem Konfigurations-Caching korrekt.

<?php
// In config/database.php:
"host" => env("DB_HOST", "127.0.0.1")

// In your service classes:
$host = config("database.connections.mysql.host");

Konfiguration cachen

Cachen Sie die Konfiguration in der Produktion, damit .env nicht bei jeder Anfrage geparst werden muss.

$ php artisan config:cache
# After changing .env:
$ php artisan config:clear

Plain PHP mit phpdotenv

Verwenden Sie vlucas/phpdotenv außerhalb von Laravel.

$ composer require vlucas/phpdotenv

<?php
$dotenv = Dotenv\Dotenv::createImmutable(__DIR__);
$dotenv->load();
$host = $_ENV["DB_HOST"];

Erforderliche Variablen

Erzwingen Sie erforderliche Umgebungsvariablen beim Start, damit fehlende Konfigurationen frühzeitig erkannt werden.

<?php
$dotenv->required(["DB_HOST", "DB_NAME", "DB_USER", "DB_PASS"]);
$dotenv->required(["DB_PORT"])->isInteger();

.env.example-Datei

Committen Sie eine .env.example-Datei mit allen Variablennamen, aber ohne Werte. Entwickler kopieren sie nach .env und tragen ihre eigenen Werte ein.

Umgebungsvariablen auf Serverebene

Setzen Sie Umgebungsvariablen in der Produktion auf Serverebene, etwa in systemd-Service-Dateien, über Docker---env-Flags oder als Kubernetes-Secrets, statt sie in einer .env-Datei abzulegen.

# systemd service:
[Service]
Environment="APP_ENV=production"
Environment="DB_HOST=db.internal"

Secrets-Management

Für sensible Zugangsdaten wie API-Schlüssel und Zertifikate sollten Sie einen Secrets Manager in Betracht ziehen: HashiCorp Vault, AWS Secrets Manager oder GitHub Actions-Secrets für CI.

Zusammenfassung

Speichern Sie die gesamte umgebungsspezifische Konfiguration in .env. Committen Sie diese Datei niemals. Verwenden Sie config() im Anwendungscode und env() nur in Konfigurationsdateien. Cachen Sie die Konfiguration in der Produktion mit php artisan config:cache.

Kurzer Check

Wo sollten Sie env() in einer Laravel-Anwendung aufrufen?

Häufig gestellte Fragen

Ist die Lektion „Umgebungsvariablen und .env-Dateien“ kostenlos?

Ja — der vollständige Text von „Umgebungsvariablen und .env-Dateien“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des PHP Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der PHP Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Umgebungsvariablen und .env-Dateien“?

Verwalten Sie vertrauliche Konfigurationen mit .env-Dateien und dotenv-Bibliotheken in PHP. Du übst PHP Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um PHP Academy zu starten?

Keine Vorkenntnisse erforderlich. PHP Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 4.

Wie lange dauert die Lektion „Umgebungsvariablen und .env-Dateien“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser PHP Academy-Lektion Code schreiben und ausführen?

Ja. Jede PHP Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Nginx- und PHP-FPM-Konfiguration
  2. Umgebungsvariablen und .env-Dateien
  3. Mit GitHub Actions deployen
  4. Eine PHP-Anwendung containerisieren
← Zurück zu PHP Academy