Umgebungsvariabeln in PHP

Alles, was PHP betrifft, kann hier besprochen werden.

Umgebungsvariabeln in PHP

Postby TConnect » 18. June 2004 11:09

Hallöchen,

ich habe folgende Frage:

In PHP gibt es ja verschiedene Umgebungsvariabeln, von denen mich gerade $_SERVER["SERVER_NAME"] interessiert. Hieran geknüpft ist nämlich auch der Connect zur MySQL Datenbank.

Ich habe ein minixampp im lokalen Netzwerk laufen, an dem eben auch eine Datenbank hängt. Wenn ich auf dem Serverrechner mittels

http://localhost/bla.php

drauf zugreife, kommt ein Connect zustande, von einem anderen Computer aus über die IP-Adresse des Servers kommt kein Connect zustande, da dann als Servername statt "localhost" dann die IP-Adresse in $_SERVER["SERVER_NAME"] eingetragen wird.

Wo muß ich welche Configuration verändern, dass auf egal von welchem Rechner man den Server ansurft auf jeden Fall immer der korrekte Servername in der Variabel steht?

Danke für eine kurze Anweisung.

Gruß TConnect
TConnect
 
Posts: 100
Joined: 31. March 2004 22:26

Postby Wiedmann » 18. June 2004 11:27

In PHP gibt es ja verschiedene Umgebungsvariabeln, von denen mich gerade $_SERVER["SERVER_NAME"] interessiert. Hieran geknüpft ist nämlich auch der Connect zur MySQL Datenbank.

Es macht auch wirklich keinen Sinn:
$link = mysql_connect($_SERVER['SERVER_NAME'], $user, $passwd);
zu benutzten.

Danke für eine kurze Anweisung.

Aus der Sicht des PHP - Scriptes befindet sich der MySQL Server (immer) auf dem selben Rechner. Also:
$link = mysql_connect('localhost', $user, $passwd);

Wo muß ich welche Configuration verändern, dass auf egal von welchem Rechner man den Server ansurft auf jeden Fall immer der korrekte Servername in der Variabel steht?

Wenn dir das wirklich wichtig ist.... in der httpd.conf:
UseCanonicalName On

Was ist korrekt? Mit dieser Einstellung zeigt er halt immer an, was in ServerName definiert ist und nicht was der Client per $_SERVER['HTTP_HOST'] angefordert hat.

Unabhängig davon liegt die Datenbank trotzdem auf localhost... s.o. Beachte hierbei wie du die Benutzer in MySQL eingerichtet hast.
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Hm dann habe ich ein seltsames Phänomen

Postby TConnect » 18. June 2004 16:53

Hallo Wiedmann,

leider funktioniert der Aufruf mittels "localhost" auf unserem Webserver definitiv nicht. Erst, wenn ich den tatsächlichen Servernamen angebe, wird der Connect anstandslos aufgebaut. Das selbe Phänomen habe ich auch auf meinem firmeninternem minixampp ausgemacht.

Obwohl ich denke, dass wir mit diesem Thread gerade in Richtung MySQL abrutschen: Woran kann das liegen? Gibts da in der my.ini von MySQL noch eine Einstellung, die kategorisch "localhost" ablehnt?


Grüße TConnect
TConnect
 
Posts: 100
Joined: 31. March 2004 22:26

Postby Wiedmann » 18. June 2004 17:10

leider funktioniert der Aufruf mittels "localhost" auf unserem Webserver definitiv nicht. Erst, wenn ich den tatsächlichen Servernamen angebe, wird der Connect anstandslos aufgebaut. Das selbe Phänomen habe ich auch auf meinem firmeninternem minixampp ausgemacht.

Poste mal bitte die betreffende Zeile im Script mit dem mysql_connect() und die genaue Fehlerausgabe.
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby lain » 21. June 2004 09:51

klar gibt es das .. du kannst fuer bestimmte user einschraenkungen im adressbereich machen ..

vielleicht solltest du deinen connect nochmal, wie von wiedmann empfohlen, mit localhost aufrufen und danach einfach einmal:

print(mysql_error());

hinschreiben. da würde z.b. "user blah from localhost not allowed" oder ähnliches stehen. mysql_error() gibt die letzte fehlermeldung seitens deines mysql servers aus ..
lain
 
Posts: 38
Joined: 19. March 2004 13:48


Return to PHP

Who is online

Users browsing this forum: No registered users and 3 guests