PHP als CGI und $_SERVER['PHP_SELF']
Erik
- php
wenn ich PHP als Modul laufen lasse bringt mir $_SERVER['PHP_SELF'] ja den absoluten Pfad zum root-Verzeichniss.
Läuft PHP aber als CGI, bekomme ich nur den Verzeichnissnamen.
Wie kann ich das also umgehen?
hi,
wenn ich PHP als Modul laufen lasse bringt mir $_SERVER['PHP_SELF'] ja den absoluten Pfad zum root-Verzeichniss.
Läuft PHP aber als CGI, bekomme ich nur den Verzeichnissnamen.
Wie kann ich das also umgehen?
Willst du vielleicht einfach nur $_SERVER['DOCUMENT_ROOT'] davorsetzen?
Ansonsten bitte etwas detailierter, welchen Wert genau du ermitteln möchtest.
gruß,
wahsaga
echo $begrüßung;
wenn ich PHP als Modul laufen lasse bringt mir $_SERVER['PHP_SELF'] ja den absoluten Pfad zum root-Verzeichniss.
Laut Handbuch liefert es den Pfad relativ zum document root.
Läuft PHP aber als CGI, bekomme ich nur den Verzeichnissnamen.
Im CGI-Modus können nicht alle Webserver-Details erfragt werden. Deswegen ist es PHP nicht möglich, den Pfad ebenfalls relativ zum document root des Webservers anzugeben, da es document root nicht kennt. Eventuell kommt das DOCUMENT_ROOT in den vom Server gesendeten CGI-Variablen mit, aber darauf kann sich PHP nicht verlassen. Als Modul konnte es den Webserver direkt befragen. PHP_SELF ist auch erst seit 4.3.0 in der CGI-Variante erhältlich.
Wie kann ich das also umgehen?
Kommt drauf an was du am Ende haben möchtest. Immer den vollständigen Pfad zur aktuellen Datei liefert __FILE__, aber das muss nicht immer die aufgerufene sein. Alle anderen Angaben müssen nicht immer vorhanden sein, können dann aber mit print_r($_SERVER) oder über phpinfo() angesehen werden.
echo "$verabschiedung $name";