MySQL-Verständnisproblem beim Host

Hallo Wissende,
ich habe folgendes Problem.

Voraussetzung

  • PC1: apache, php, mysql, Benutzer eingerichtet (Benu@PC2)
  • PC2: soll Datenbank auf PC1 benutzen

Verstanden:

  • PC2: MySQL monitor (mysql.exe)
    „mysql -h PC1 -u Benu“ und es funktioniert
  • http://pc1/phpinfo.php zeigt das richtige Ergebnis an

Problem:

  • mysql_get_host_info() liefert „localhost via TCP/IP“
    Warum nicht „PC1 via TCP/IP“?
  • mysql_connect() geht nur über
    mysql_connect(„localhost“, …);
    Wieso „localhost“?

Wo ist mein Denkfehler?

Gruß
Thomas

Weil das php Script nicht den Prozessor des PC2 sondern den des PC1 benutzt - für die Datenbank ist das also localhost.

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Im Prinzig ja, aber …
Hallo,

Weil das php Script nicht den Prozessor des PC2 sondern den
des PC1 benutzt - für die Datenbank ist das also localhost.

Damit ich das richtig verstanden habe?!

  • http nimmt also PC1 als Hostnamen an (localhost wäre ja PC2)
  • MySQL monitor verlangt auch nach PC1 als Hostname
  • nur die PHP-Funktionen interpretieren das anders?

Wieso muß ich dann aber bei 1&1 in den PHP-Funktionen einen kryptischen Hostnamen angeben?
Dort sollte doch dann auch localhost funktionieren (würde ich jetzt dneken)???

Gruß
Thomas

Hallo Thomas,

Ganz einfach. PHP und Apache laufen auf PC1 und dort wo’s läuft ist localhost nicht dort wo der Request herkommt. Ok?

Gruss, Simon