Hallo Christoph,
Wenn schon bitte so (_mit_ Anfuehrungszeichen):
$_SERVER["SERVER_NAME"]
Jaein. Nach der von dir selbst angegebenen Quelle http://www.php.net/manual/en/language.variables.predefined.php sind es Hochkommas, also ', und keine Anführungszeichen ".
Es ist egal, ob Du hier einfache oder doppelte Anführungszeichen nimmst. Du sprichst im Endeffekt ein Element eines assoziativen Arrays an. Der Schlüssel ist ein String, und genau deswegen ist es egal.
Und auf meiner Platte (Apache 2.0.47 und PHP 4.3.2 auf WinXP) funktioniert ein kleines Testskript zum Überprüfen dieser vordefinierten Variablen, aus dem ich das schnell rauskopiert hatte, tatsächlich völlig "ohne" Anführungszeichen
Natürlich "funktioniert" das - SERVER_NAME gibt es als Konstante nicht und deswegen wird SERVER_NAME als String interpretiert. Wenn Du vorher jedoch irgendwo die Konstante SERVER_NAME definieren würdest - define ('SERVER_NAME', 'hallo'); - dann würdest Du im Endeffekt auf $_SERVER['hallo'] zugreifen... was natürlich nicht gewünscht ist.
Diese sogenannte superglobale Variable (ab PHP 4.1.0) ist die beste Variante.
Ich halte das mit den "superglobalen Variablen" für eine gute Idee, habe aber noch nicht ganz verstanden, warum das mit PHP 5 wieder etwas anders strukturiert werden soll.
Wieso sollte das mit PHP5 anders werden? Auf http://www.php.net/ChangeLog-5.php und http://www.php.net/zend-engine-2.php entdecke ich weder das Wort "superglobal" noch die Zeichenfolge "$_".
Da läuft PHP 4.3.2 wunderbar, aber wenn ich es durch 4.3.3 ersetzen will, läuft gar nichts mehr, nicht einmal phpinfo, und ich kriege nicht raus, woran das liegt. Hast du einen Hinweis (bitte nicht das Handbuch, das kenne ich, auch http://www.php.net/manual/de/install.apache2.php - das ist noch in englisch, also das Original)?
Hast Du auch die php4ts.dll im winnt\system32-Verzeichnis durch die neue ersetzt?
Viele Grüße,
Christian
Losung und Lehrtext für Sonntag, 12. Oktober 2003:
Sie sollen erfahren, dass ich, der Herr, ihr Gott, bei ihnen bin und dass sie vom Hause Israel mein Volk sind, spricht Gott der Herr. (Hesekiel 34,30)
Hat denn Gott sein Volk verstoßen? Das sei ferne! Denn ich bin auch ein Israelit, vom Geschlecht Abrahams, aus dem Stamm Benjamin. (Römer 11,1)
(http://www.losungen.de/heute.php3, i.V. Götz)