Wie kann ich überprüfen, ob eine Umgebungsvariable gesetzt ist PHP?
In PHP, wie kann ich testen, ob eine Umgebungsvariable gesetzt ist? Ich möchte mich Verhalten wie diese:
//Assuming MYVAR isn't defined yet.
isset(MYVAR); //returns false
putenv("MYVAR=foobar");
isset(MYVAR); //returns true
Du musst angemeldet sein, um einen Kommentar abzugeben.
getenv()
zurückfalse
wenn die Umgebungsvariable nicht gesetzt ist. Der folgende code funktioniert:Sicher, dass Sie die strikten Vergleichsoperator (
!==
), weilgetenv()
normalerweise gibt einen string zurück, konnte gewirkt werden, als boolean.können Sie überprüfen, wie dieses
getenv() Liefert den Wert der environment-variable.
REMOTE_ADDR
immer? In meinem Fall, ich Schreibe ein Skript, das muss anders handeln, basierend auf, ob der server über eine Umgebungsvariable gesetzt werden.getenv()
zurückfalse
wenn die Umgebungsvariable nicht gesetzt ist. Ich sehe, dass es das ist, was Ihr code versucht zu veranschaulichen. Es gibt jedoch mehrere Probleme mit Ihrem code. Zuerst von allen, die wir versuchen zu vermeiden, mit der=
Zuweisungsoperator inif
Bedingungen, weil wir fast immer gemeint==
. Zweitens, der Inhalt der environment-Variablen kann eine leere Zeichenfolge sein, die-casts zufalse
, so müssen wir mit einem strikten Vergleichsoperator.if
Bedingungen.Dies ist, was Sie brauchen
isset($var)
ist immer wahr in diesem Fall.