_SERVER / $_ENV
Mathe-Team
- webserver
0 dedlfix
Hallo,
wir haben festgestellt, dass zum Teil gleiche Namen (z.B. DOCUMENT_ROOT) sowohl als
$_SERVER.... als auch als $_ENV..... unter den PHP-Servervariablen aufgeführt werden.
Manchmal sind die Werte identisch, manchmal unterscheiden sie sich.
Welchen kann man in PHP-Scripts vertrauen?
Tach!
wir haben festgestellt, dass zum Teil gleiche Namen (z.B. DOCUMENT_ROOT) sowohl als $_SERVER.... als auch als $_ENV..... unter den PHP-Servervariablen aufgeführt werden.
Ob das der Fall ist hängt davon ab, wie PHP im Webserver eingebunden ist. Laut Handbuch zur Konfigurationsdirektive variables_order ist es bei (F)CGI so, dass die Einträge des Environment auch in $_SERVER zu finden sind, und damit zweimal auftauchen. Das heißt bei PHP als Apache-Modul sollte das nicht der Fall sein.
Manchmal sind die Werte identisch, manchmal unterscheiden sie sich. Welchen kann man in PHP-Scripts vertrauen?
Generell sollte das, was als Environment-Variable gesetzt ist, auch über $_ENV abgefragt werden. Was der Webserver selbst bereitstellt (also die Daten des Requests), sollte $_SERVER entnommen werden.
dedlfix.