In der PHP -Entwicklung müssen wir manchmal einige Umgebungsvariablen für das aktuelle Skript vorübergehend festlegen, um Konfigurationsinformationen zur Laufzeit zu übergeben oder das Programmverhalten zu beeinflussen. PHP bietet eine Putenv () -Funktion, um diese Funktion zu implementieren. In diesem Artikel wird die Nutzung, die anwendbaren Szenarien und Probleme vorgestellt, auf die bei der Verwendung von Putenv () beachtet werden müssen.
Putenv () ist eine integrierte Funktion in PHP, die eine Umgebungsvariable für den aktuellen Prozess festlegt. Der Aktionsumfang beschränkt sich auf die Ausführungszeit des aktuellen Skripts und wirkt sich nicht auf die globalen Umgebungsvariablen des Systems aus.
bool putenv(string $setting)
Das Format des Parameters $ $ ist "name = value" , dh die Umgebungsvariablennamen und -Werte sind mit gleichen Vorzeichen verbunden.
Der Rückgabewert ist ein boolescher Wert, der für den Erfolg zutrifft , falsch für das Scheitern.
<?php
// Umgebungsvariablen festlegen APP_MODE für "development"
putenv("APP_MODE=development");
// passieren getenv() Holen Sie sich die Umgebungsvariable gerade festlegen
echo getenv("APP_MODE"); // Ausgabe: development
?>
In diesem Beispiel setzen wir eine Umgebungsvariable mit dem Namen app_mode für das Skript mit dem Wert "Entwicklung" . Es kann dann durch die Getenv () -Funktion gelesen werden.
Konfigurationsanpassungen während der Skriptlaufzeit <br> Beispielsweise müssen Sie die Protokollebene, den Debug -Modus usw. gemäß den Umgebungsvariablen steuern und Putenv () verwenden, um dynamisch anzupassen, ohne die Konfigurationsdatei zu ändern.
Aufrufen externer Befehle oder Prozesse <br> Wenn ein PHP -Skript ein externes Programm aufruft, können Sie das Verhalten des externen Programms beeinflussen, indem Sie Umgebungsvariablen festlegen.
Vermeiden Sie hartcodierte sensible Informationen <br> Sie können bestimmte sensible Konfigurationen (z. B. API -Schlüssel) als Umgebungsvariablen vorübergehend festlegen, um zu vermeiden, dass Sie direkt in Code- oder Konfigurationsdateien schreiben.
Nur für das aktuelle Skript gültig
Die von Putenv () festgelegte Umgebungsvariable ist nur während der aktuellen Skriptausführung gültig und fällt nach der Ausführung automatisch fehl, und die Systemumgebung wird nicht geändert.
Eine unterschiedliche Serverleistung kann geringfügig variieren <br> In einigen Umgebungen (insbesondere Windows -Systemen) steht das Verhalten von Putenv () möglicherweise nicht genau mit Linux überein und erfordert Testen und Bestätigungen.
Fadensicherheitsprobleme <br> Beachten Sie, dass Umgebungsvariablen in multitHhread- oder gleichzeitigen Umgebungen verwendet werden, und können zu Rassenbedingungen führen.
Verlassen Sie sich nicht auf Umgebungsvariablen, um wichtige Daten zu übergeben . <br> Da Umgebungsvariablen durch externe Prozesse leicht gelesen werden können, wird nicht empfohlen, sehr sensible vertrauliche Informationen über Umgebungsvariablen zu bestehen.