
Teilen Sie:
Diana ist Entwicklungsbeauftragte bei Vonage. Sie isst gerne frische Austern.
Wie man PHP-Umgebungsvariablen in Laravel verwendet
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:
Ö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_secretNach dem Ändern der .env löschen Sie den Konfigurations-Cache, um die Änderungen zu übernehmen:
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 # ProductionAuf 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:cacheNach 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
.envDatei - 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 vonenv()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 etwas mitteilen? Beteiligen Sie sich am Gespräch auf dem Vonage Community Slackund bleiben Sie auf dem Laufenden mit dem Entwickler-Newsletter, folgen Sie uns auf X (früher Twitter), abonnieren Sie unseren YouTube-Kanal für Video-Tutorials, und folgen Sie der Vonage Entwickler-Seite auf LinkedInein Raum für Entwickler, um zu lernen und sich mit der Community zu vernetzen. Bleiben Sie in Verbindung, teilen Sie Ihre Fortschritte und halten Sie sich über die neuesten Nachrichten, Tipps und Veranstaltungen für Entwickler auf dem Laufenden!