Jan Lehnardt: PHP_SELF

Beitrag lesen

Hi,

Ich habe bei verschiedenen Providern PHP am rennen und auch lokal unter Windoof. Die Variable PHP_SELF ist ja ganz praktisch, nun würde ich sie auch gerne verwenden, erhalte aber unterschiedliche Werte dafür:

das liegt an der Kompilieroption cgi-force-redirect. Die ist bei den Windows binaries standartmaessig abgeschaltet. Es besteht laut den PHP-Etwicklern ein Sicherheritsloch, wenn dieses Feature angeschaltet wird, aber wie gesagt nur unter Windows.

Ein kleines Script kann dir helfen immer $PHP_SELF einsetzen zu koennen.

if(isset($WINDIR)) $PHP_SELF=$PATH_INFO;

Das prueft ob die Umgebungsvariable $WINDIR gegeben ist, das kommt normalerweise nur unter Windows vor <g/>. Wenn dem so ist, wird die Variable $PHP_SELF mit der unter Windows verfuegbaren Umgebungsvariable $PATH_INFO ueberschrieben, die dann auch script.php liefert.

Frage 1: Was ist nun "richtig(er)" ?
Rein intuitiv würde ich das von "Provider 2" für korrekt halten.

Es stimmt beides, nur ist es eben Plattformabhaengig.

Frage 2:
Was müssen ich und "Provider 1" wo einstellen, damit auch hier nur der Name/Pfad des aktuellen PHP-Scriptes geliefert wird?

s.o.

Jan