PHP 5.2.5 $_SERVER['SCRIPT_URI'] fehlt
Bobby
- php
0 Vinzenz Mai0 ChrisB0 dedlfix0 Bobby
Moin
Nachdem mein Provider einen neuen Server eingebaut hat und alles neu installiert hat (LAMP-Umgebung) ist nun die Server-Variable $_SERVER['SCRIPT_URI'] nicht mehr verfügbar. Ist dies normal bei PHP 5.2.5? Was kann ich sonst für eine Variable benutzen. Brauche den angefragten URL-Namen (nicht den tatsächlichen wegen ModRewrite) ohne GET-Variablen.
Danke für Eure Hinweise.
Gruß Bobby
Hallo Bobby,
Nachdem mein Provider einen neuen Server eingebaut hat und alles neu installiert hat (LAMP-Umgebung) ist nun die Server-Variable $_SERVER['SCRIPT_URI'] nicht mehr verfügbar. Ist dies normal bei PHP 5.2.5? Was kann ich sonst für eine Variable benutzen. Brauche den angefragten URL-Namen (nicht den tatsächlichen wegen ModRewrite) ohne GET-Variablen.
ich zitiere aus dem Handbuchkapitel Vordefinierte Variablen:
<zitat>
$_SERVER ist ein Array, in dem Informationen über Header, Pfade oder den
Speicherort des Skripts gespeichert sind. Die Einträge dieses Arrays werden
vom Webserver generiert. Es gibt keine Garantie, dass jeder Webserver alle
diese Einträge erzeugt. Manche Server werden Einträge auslassen oder andere
einfügen, die hier nicht aufgeführt sind.
[...]
</zitat>
Freundliche Grüße
Vinzenz
Hallo,
$_SERVER ist ein Array, in dem Informationen über Header, Pfade oder den
Speicherort des Skripts gespeichert sind. Die Einträge dieses Arrays werden
vom Webserver generiert. Es gibt keine Garantie, dass jeder Webserver alle
diese Einträge erzeugt. Manche Server werden Einträge auslassen oder andere
einfügen, die hier nicht aufgeführt sind.
Man kann die fehlenden Variablen aus den Environment-Variablen des Webservers, sofern sie da vorhanden sind, meistens zusätzlich importieren (siehe mod_rewrite). Das geht z.B. in einer .htaccess-Datei, wenn man die passende Berechtigung hat.
Nützlich ist das z.B. für das Passwort bei .htaccess-Schutz und PHP als CGI. Da fehlt dieses nämlich standardmäßig.
LG
Tom
Hi,
[...] ist nun die Server-Variable $_SERVER['SCRIPT_URI'] nicht mehr verfügbar. [...] Brauche den angefragten URL-Namen (nicht den tatsächlichen wegen ModRewrite) ohne GET-Variablen.
Im Zweifelsfalle schneide den Querystring-Part doch einfach vom REQUEST_URI ab ...
Funktionen wie parse_url helfen dir auch gerne dabei.
MfG ChrisB
echo $begrüßung;
Was kann ich sonst für eine Variable benutzen. Brauche den angefragten URL-Namen (nicht den tatsächlichen wegen ModRewrite) ohne GET-Variablen.
Ergänzend zu Vinzenz Antwort: Alles was der Server dir über den Request mitzuteilen gedenkt, steht in $_SERVER. Je nach Art des Requests (z.B. mit mod_rewrite oder ohne) variieren diese auch noch. phpinfo() ist auch eine gute Anlaufstelle, um den Inhalt dieses Arrays angezeigt zu bekommen. Wenn du einen passenden Eintrag gefunden hast, probiere ihn mit diversen Aufrufvarianten aus: Script direkt aufgerufen, mod_rewrite benutzt, Querystring verwendet, ...
echo "$verabschiedung $name";
Moin
phpinfo() ist auch eine gute Anlaufstelle, um den Inhalt dieses Arrays angezeigt zu bekommen. Wenn du einen passenden Eintrag gefunden hast, probiere ihn mit diversen Aufrufvarianten aus: Script direkt aufgerufen, mod_rewrite benutzt, Querystring verwendet, ...
Danke für Eure zahlreichen Antworten. Mit phpinfo() hab ich alle Varianten durchgespielt und verwende nun andere Variablen (redirect_uri bei mod_rewrite und php_self ohne mod_rewrite)
Danke nochmal