laravel logo and development related image to the right

Wie man PHP-Umgebungsvariablen in Laravel verwendet

Zuletzt aktualisiert am March 20, 2025

Lesedauer: 5 Minuten

Umgebungsvariablen sind in Laravel für die Verwaltung von Konfigurationseinstellungen in verschiedenen Umgebungen (lokal, Staging und Produktion) unerlässlich. Laravel speichert diese Einstellungen in einer .env Datei und hält sensible Daten von der Versionskontrolle fern. Dies gewährleistet Flexibilität und Sicherheit bei der Bereitstellung von Anwendungen.

In dieser Anleitung zeigen wir Ihnen, wie Sie in diesem Fall Umgebungsvariablen in einer Entwicklungsumgebung konfigurieren und verwenden, da Produktions- und Staging-Umgebungen über .env Dateien, die mit einer verwalteten Hosting-Plattform verwaltet werden sollten, wie z.B. Plattform.sh, Laravel Forgeoder Laravel-Wolke.

Einrichten von Umgebungsvariablen

Erstellen und Verwenden des.env Datei

Laravel enthält eine .env.example Datei standardmäßig. Um mit der Verwendung von Umgebungsvariablen zu beginnen, erstellen Sie eine neue .env Datei durch Kopieren der Beispieldatei:

cp .env.example .env

Öffnen Sie dann die Datei .env Datei und legen Sie Ihre Anwendungseinstellungen fest:

APP_NAME=VonageVerifyApp
APP_ENV=local
APP_DEBUG=true
APP_URL=http://localhost

VONAGE_API_KEY=your_api_key
VONAGE_API_SECRET=your_api_secret

Nach dem Ändern der .env löschen Sie den Konfigurations-Cache, um die Änderungen zu übernehmen:

php artisan config:clear

Zugriff auf Umgebungsvariablen in Laravel

Die Verwendung desenv() Helfer

Laravel bietet einen env() Hilfsprogramm zum Abrufen von Umgebungsvariablen:

$apiKey = env('VONAGE_API_KEY');

Wichtig: Verwenden Sie env() nur in Konfigurationsdateien. Um die Anwendungslogik sauber und wartbar zu halten, rufen Sie die Einstellungen stattdessen über den Laravel config() Hilfsprogramm ab. Dies ist besonders wichtig, da Laravel die Umgebungsvariablendatei zwischenspeichert und den Zwischenspeicher nicht automatisch ungültig macht, wenn sich eine Variable in der Datei ändert.

Verwendung von Laravel-Konfigurationsdateien

Die Konfigurationsdateien von Laravel (zu finden im Verzeichnis config/ Verzeichnis) sind der beste Weg, um Umgebungseinstellungen zu verwalten. Der Config-Service-Container von Laravel liest automatisch jede Datei im config-Verzeichnis. Um also Ihren Vonage-Schlüssel und Ihr API-Geheimnis hinzuzufügen, erstellen Sie eine neue Datei im config-Verzeichnis und nennen Sie sie vonage.php. Dies sollte ein Array mit Ihrem Schlüssel und API-Geheimnis zurückgeben.

Zum Beispiel können Sie in config/services.phpkönnen Sie auf Umgebungsvariablen für die Vonage Verify API:

'vonage' => [
    'api_key' => env('VONAGE_API_KEY'),
    'api_secret' => env('VONAGE_API_SECRET'),
],

Um diese Werte in Ihrer Anwendung abzurufen, verwenden Sie:

$apiKey = config('vonage.api_key');
$apiSecret = config('vonage.api_secret');

Verwendung von Umgebungsvariablen in der Verify-API

Wenn Sie die Umgebungsvariablen richtig eingerichtet haben, können Sie jetzt die Vonage Verify API in Ihre Laravel-Anwendung integrieren. Wir zeigen Ihnen, wie Sie dies manuell tun können, aber wenn Sie Ihre Anwendung erstellen, werden Sie wahrscheinlich einen Dienst schreiben wollen, der Ihre Anwendung automatisch in den Service-Container bootet. Mehr darüber, wie Sie das machen, erfahren Sie in der Laravel-Dokumentation.

Beispiel: Senden einer Überprüfungsanfrage

use Vonage\Client;
use Vonage\Client\Credentials\Basic;

use Vonage\Verify2\Request\SMSRequest;
$apiKey = config('vonage.api_key');
$apiSecret = config('vonage.api_secret');

$credentials = new Basic($apiKey, $apiSecret);
$client = new Client($credentials);

$verification = new SmsRequest('+14155550123', 'acme-company');

$response = $client->verify()->start($verification);

echo "Request ID: " . $response->getRequestId();

Beispiel: Prüfen eines Verifizierungscodes

$requestId = 'VERIFY_REQUEST_ID';
$code = 'VONAGE_VERIFY_CODE; // Code entered by the user

try {
$response = $client->verify2()->check($requestId, $code);
echo $response;} catch ($exception) {
echo $exception->getMessage();
}

Konfigurieren von umgebungsspezifischen Einstellungen

Mit Laravel können Sie die Einstellungen für verschiedene Umgebungen anpassen. Zum Beispiel können Sie in config/logging.phpkönnen Sie je nach Umgebung verschiedene Log-Levels einstellen. Das zweite Argument in der env()-Hilfsfunktion ist der Standardwert, also stellen Sie sicher, dass Sie wissen, wo Sie dies einstellen:

'log_level' => env('LOG_LEVEL', 'debug'),

Definieren Sie den Loglevel in Ihren .env Dateien:

LOG_LEVEL=debug  # Local Development
LOG_LEVEL=error  # Production

Auf diese Weise können Sie das Verhalten der Anwendung ändern, ohne den Code zu verändern.

Verbesserung der Leistung mit Konfigurations-Caching

In Produktionsumgebungen sollten Sie Ihre Konfigurationseinstellungen zwischenspeichern, um die Leistung zu verbessern:

php artisan config:cache

Nach der Ausführung dieses Befehls hört Laravel auf, aus der Datei .env Datei und verwendet stattdessen die zwischengespeicherte Konfiguration. Wenn Sie Änderungen an .envvornehmen, löschen Sie den Cache, bevor Sie sie anwenden:

php artisan config:clear

Bewährte Sicherheitspraktiken

Um sensible Daten zu schützen, sollten Sie die folgenden bewährten Verfahren befolgen:

  • Übertragen Sie niemals Ihre .env Datei - fügen Sie sie zu .gitignore.

  • Verwenden Sie separate Umgebungsdateien für die lokale, die Staging- und die Produktionsumgebung.

  • Kodieren Sie API-Schlüssel oder Geheimnisse niemals fest in Ihrem Anwendungscode.

  • Verwenden Sie config() anstelle von env() in der Anwendungslogik, um Probleme mit der Zwischenspeicherung der Konfiguration zu vermeiden.

  • Erwägen Sie Tools zur Verwaltung von Geheimnissen wie AWS Secrets Manager, HashiCorp Vault oder die Verwaltung von Docker/Kubernetes-Umgebungen für die Produktionssicherheit.

Fehlersuche bei Umgebungsvariablen

Wenn Ihre Umgebungsvariablen nicht korrekt geladen werden, versuchen Sie, den Zwischenspeicher zu löschen und neu zu speichern:

php artisan config:clear  
php artisan config:cache  

Schlussfolgerung

Und das war's! Die Verwendung von Umgebungsvariablen in Laravel hilft dabei, Konfigurationseinstellungen effizient zu verwalten und gleichzeitig sensible Daten sicher zu halten.

Haben Sie eine Frage oder möchten Sie uns mitteilen, was Sie gerade bauen?

Bleiben Sie auf dem Laufenden und halten Sie sich über die neuesten Nachrichten, Tipps und Veranstaltungen für Entwickler auf dem Laufenden.

Teilen Sie:

https://a.storyblok.com/f/270183/384x384/b68093ec17/diana-pham.png
Diana PhamAdvokat für Entwickler

Diana ist Entwicklungsbeauftragte bei Vonage. Sie isst gerne frische Austern.