Sorgenkind Mech: localhost vs IP vs DNS

moin nochmal

mir is gerade folgendes eingefallen, bzw. hab mich dran erinnert:

ich sitze gerade am laptop (nein das wusste ich vorher auch schon)
auf dem is ne mysql-db, php, und n HTTP-server (Win2kProSP3)
so, und die auf dem lokalen http liegenden files haben alle die informationen welcher server der aktuelle mysql-server is

jetz kommts:
bin ich im internet, so funktioniert der DNS-Name nicht mehr, aber localhost
nur als beispiel, die ip funktioniert auch nich immer, speziell wenn man gerade nich am netzwerk is usw

was ist also der beste weg einen rechner, egal an welchen netzen er gerade hängt eindeutig anzusprechen??

gruß

  1. n'abends Sorgenkind (nochmal,

    ich sitze gerade am laptop auf dem is ne mysql-db, php, und n HTTP-server (Win2kProSP3)

    "Win2kProSP3" ist kein Server. Könntest du bitte konkretisieren, ob du einen lokalen Server hast, und wenn ja, welchen?

    so, und die auf dem lokalen http liegenden files haben alle die informationen welcher server der aktuelle mysql-server is

    Die "files" haben diese Information mit großer Wahrscheinlichkeit nicht

    bin ich im internet, so funktioniert der DNS-Name nicht mehr, aber localhost

    prima ;-) Das ist genau das Anzeichen dafür, daß der DNS deines Providers sehr gut funktioniert. "localhost" ist ohnehin nur so etwas wie ein "dummy" (naja, ist etwas komplizierter) und hat mit dem DNS so gut wie gar nix zu tun. _was_ funktioniert denn mit localhost bzw. mit 127.0.0.1 und _was_ funktioniert da ab und zu nicht? Welcher "Name" wird nicht mehr über DNS aufgelöst? Gibt es eine DHCP-Anbindung?

    nur als beispiel, die ip funktioniert auch nich immer, speziell wenn man gerade nich am netzwerk is usw

    die IP "funktioniert" immer. Wie hast du herausgefunden, was da gerade "nicht funktioniert" hat? Welche Fehlermeldungen (logs) gibt dein Server aus oder welche sind bei deinem Provider gespeichert?

    was ist also der beste weg einen rechner, egal an welchen netzen er gerade hängt eindeutig anzusprechen?

    Die MAC-Adresse über eine IP ansprechen, sofern das Protokoll zum Ansprechen denn TCP/IP ist. Aber es gibt noch eine Menge anderer Protokolle. Der "beste Weg" ist unter anderem davon abhängig, welche Protokolle deine Soft- und Hardware (ja, die auch) versteht und berücksichtigen kann

    Grüße aus Berlin

    Christoph S.

    1. n'abends Sorgenkind (nochmal,

      ich sitze gerade am laptop auf dem is ne mysql-db, php, und n HTTP-server (Win2kProSP3)
      "Win2kProSP3" ist kein Server. Könntest du bitte konkretisieren, ob du einen lokalen Server hast, und wenn ja, welchen?

      naja, der integrierte halt --> IIS

      so, und die auf dem lokalen http liegenden files haben alle die informationen welcher server der aktuelle mysql-server is
      Die "files" haben diese Information mit großer Wahrscheinlichkeit nicht

      naja, es wird halt in jedem file eine datei eingebunden, per php, welche dann die variable "$server" definiert, dadurch hab ich die info halt in jedem file *haarspalt*

      bin ich im internet, so funktioniert der DNS-Name nicht mehr, aber localhost
      prima ;-) Das ist genau das Anzeichen dafür, daß der DNS deines Providers sehr gut funktioniert. "localhost" ist ohnehin nur so etwas wie ein "dummy" (naja, ist etwas komplizierter) und hat mit dem DNS so gut wie gar nix zu tun. _was_ funktioniert denn mit localhost bzw. mit 127.0.0.1 und _was_ funktioniert da ab und zu nicht? Welcher "Name" wird nicht mehr über DNS aufgelöst? Gibt es eine DHCP-Anbindung?

      DHCP denke nein

      und der provider, in diesem falle T-Online sollte mit dem ganzen gar nix zu tun haben, da der rechner/laptop nur im internen netzwerk angesprochen werden
      leider habe ich die möglichen varianten nicht mehr im kopf, daher kann ich leider nicht alle aufzählen

      nur als beispiel, die ip funktioniert auch nich immer, speziell wenn man gerade nich am netzwerk is usw
      die IP "funktioniert" immer. Wie hast du herausgefunden, was da gerade "nicht funktioniert" hat? Welche Fehlermeldungen (logs) gibt dein Server aus oder welche sind bei deinem Provider gespeichert?

      leider weiß ich das nich mehr, sorry, kann mich jedoch an einen fall erinnern, bei dem das so war

      naja, fehlermeldung, meine eigene, von php --> server nicht erreichbar (resultiert aus der abfrage, ob eine verbindung zum mysql-server hergestellt werden konnte oder nich)

      was ist also der beste weg einen rechner, egal an welchen netzen er gerade hängt eindeutig anzusprechen?
      Die MAC-Adresse über eine IP ansprechen, sofern das Protokoll zum Ansprechen denn TCP/IP ist. Aber es gibt noch eine Menge anderer Protokolle. Der "beste Weg" ist unter anderem davon abhängig, welche Protokolle deine Soft- und Hardware (ja, die auch) versteht und berücksichtigen kann

      hmmmmmmmmmm
      also TCP/IP is das einzigste protokoll, das verwendet wird
      MAC-Adresse? versteht die denn auch php?

      Grüße aus Berlin

      Christoph S.

      danke erstmal, gruß

      1. rehi Mech,

        so langsam wirds doch was ...

        naja, der integrierte halt --> IIS

        IIS also. Hm. Kann man nehmen, wenns grade nix Besseres gibt, aber ich befürchte, du hast dann auch gleich die "Servererwietrungen" mitinstalliert ...

        so, und die auf dem lokalen http liegenden files

        Du hast kein "lokales HTTP". HTTP ist ein Protokoll, das mit Hilfe eines anderen Protokolls (IP) transportiert wird. Dein lokaler Rechner/Laptop muß es bloß verstehen. Und das kann er, wenn du  -  unter Windows  -  eine "winsock.dll" hast.

        ... haben alle die informationen welcher server der aktuelle mysql-server is

        Die "files" haben diese Information mit großer Wahrscheinlichkeit nicht
        naja, es wird halt in jedem file eine datei eingebunden, per php, welche dann die variable "$server" definiert, dadurch hab ich die info halt in jedem file

        Das müßtest du genauer erklären. "$server" muß keineswegs etwas über mySQL aussagen. Und es hilft dir überhaupt nix, diese Informationen an deine Dateien/files zu verteilen, wenn dein Server diese Info nicht haben sollte. Wie hast du denn deinem IIS beigebracht, daß er PHP und mySQL verstehen soll?

        *haarspalt*

        keineswegs. Man muß nur genau sein, um eine wirklich brauchbare Lösung zu finden. Zu dieser Genauigkeit kann auch gehören, "genervte" Nachfragen zu stellen

        und der provider, in diesem falle T-Online sollte mit dem ganzen gar nix zu tun haben, da der rechner/laptop nur im internen netzwerk angesprochen werden

        Das ist allerdings richtig. T-Online erlaubt dir ohnehin nicht, PHP und mySQL einzusetzen. Es ist vollkommen sinnlos, auf eine T-Online-Adresse irgendwelche Dateien hochzuladen, die PHP-Code enthalten

        leider habe ich die möglichen varianten nicht mehr im kopf, daher kann ich leider nicht alle aufzählen

        Schade. Diese Varianten solltest du schon wissen, wenn du nachfragst

        naja, fehlermeldung, meine eigene, von php --> server nicht erreichbar (resultiert aus der abfrage, ob eine verbindung zum mysql-server hergestellt werden konnte oder nich)

        Dann überprüf mal bitte deinen IIS, ob der PHP und mySQL kann  -  im "default"-Fall kann er das nicht, da mußt du etwas fummeln

        also TCP/IP is das einzigste protokoll, das verwendet wird

        Das ist schonmal gut

        MAC-Adresse? versteht die denn auch php?

        ouch ... nein. Wenn überhaupt, geht das mit dem "Verstehen" andersherum: PHP müßte die MAC-Adresse verstehen. Aber das ist verkehrt gefragt, weil PHP kein Protokoll ist. Das eingesetzte Protokoll (TCP/IP) mußMöglichkeiten bereithalten, mit denen eine MAC-Adresse nötigenfalls in eine IP "übersetzt" wird. Weißt du denn, wie du deine MAC-Adresse herausfindest?

        Grüße aus Berlin

        Christoph S.

        1. rehi Mech,

          rehi

          so langsam wirds doch was ...

          naja, der integrierte halt --> IIS
          IIS also. Hm. Kann man nehmen, wenns grade nix Besseres gibt, aber ich befürchte, du hast dann auch gleich die "Servererwietrungen" mitinstalliert ...

          ne, die brauch ich nich (wüsste zumindest nich wofür
          is denn IIS so schlecht?

          so, und die auf dem lokalen http liegenden files
          Du hast kein "lokales HTTP". HTTP ist ein Protokoll, das mit Hilfe eines anderen Protokolls (IP) transportiert wird. Dein lokaler Rechner/Laptop muß es bloß verstehen. Und das kann er, wenn du  -  unter Windows  -  eine "winsock.dll" hast.

          davon gehe ich mal aus wenn er immerhin einen HTTP-server bereitstellen kann, bzw. ich denke nicht, dass win2kpro die nich hat

          ... haben alle die informationen welcher server der aktuelle mysql-server is

          Die "files" haben diese Information mit großer Wahrscheinlichkeit nicht
          naja, es wird halt in jedem file eine datei eingebunden, per php, welche dann die variable "$server" definiert, dadurch hab ich die info halt in jedem file
          Das müßtest du genauer erklären. "$server" muß keineswegs etwas über mySQL aussagen. Und es hilft dir überhaupt nix, diese Informationen an deine Dateien/files zu verteilen, wenn dein Server diese Info nicht haben sollte. Wie hast du denn deinem IIS beigebracht, daß er PHP und mySQL verstehen soll?

          ich hab IIS gesagt, dass es html-dateien mit der php.exe parsen soll, funkt ja wunderbar
          und mysql muss bei IIS registriert werden? läuft mysql nicht als eigenständiger dienst, unabhängig von IIS??

          *haarspalt*
          keineswegs. Man muß nur genau sein, um eine wirklich brauchbare Lösung zu finden. Zu dieser Genauigkeit kann auch gehören, "genervte" Nachfragen zu stellen

          da haste leider recht ;)

          und der provider, in diesem falle T-Online sollte mit dem ganzen gar nix zu tun haben, da der rechner/laptop nur im internen netzwerk angesprochen werden
          Das ist allerdings richtig. T-Online erlaubt dir ohnehin nicht, PHP und mySQL einzusetzen. Es ist vollkommen sinnlos, auf eine T-Online-Adresse irgendwelche Dateien hochzuladen, die PHP-Code enthalten

          nene, wie gesagt, T-online interessiert nicht, da das ganze ja nur lokal läuft, bzw. hier im internen netzwerk

          leider habe ich die möglichen varianten nicht mehr im kopf, daher kann ich leider nicht alle aufzählen
          Schade. Diese Varianten solltest du schon wissen, wenn du nachfragst

          ich weiß, jedoch wollt ich lieber mal fragen, bevor ich es wieder vergesse (passiert bei mir häufiger)

          naja, fehlermeldung, meine eigene, von php --> server nicht erreichbar (resultiert aus der abfrage, ob eine verbindung zum mysql-server hergestellt werden konnte oder nich)
          Dann überprüf mal bitte deinen IIS, ob der PHP und mySQL kann  -  im "default"-Fall kann er das nicht, da mußt du etwas fummeln

          wie gesagt, php is eingebunden, und bezüglich mysql-sihe statement oben

          also TCP/IP is das einzigste protokoll, das verwendet wird
          Das ist schonmal gut

          MAC-Adresse? versteht die denn auch php?
          ouch ... nein. Wenn überhaupt, geht das mit dem "Verstehen" andersherum: PHP müßte die MAC-Adresse verstehen. Aber das ist verkehrt gefragt, weil PHP kein Protokoll ist. Das eingesetzte Protokoll (TCP/IP) mußMöglichkeiten bereithalten, mit denen eine MAC-Adresse nötigenfalls in eine IP "übersetzt" wird. Weißt du denn, wie du deine MAC-Adresse herausfindest?

          joa, zum beispiel über den netzwerkmonitor, da werden die angezeigt... oder waren das die physikalischen adressen? (oder is das das selbe?)

          jedenfalls könnte ich es notfalls, weiß jetz zwar nich, ob das bei win2kpro dabei is, aber hier steht ja auch noch n rechner mit win2k advanced server ;) da is das auf jeden fall dabei

          Grüße aus Berlin

          Christoph S.

          dankende grüße

          1. hi Sorgenkind

            <seufz>

            ich befürchte, du hast dann auch gleich die "Servererweiterungen" mitinstalliert ...
            ne, die brauch ich nich

            Dann prüfe mal bitte, ob es in deinen Verzeichnissen irgendwelche Unterverzeichnisse gibt, die _vti_ im Namen haben

            (wüsste zumindest nich wofür

            schon gut. Nur: wenn man den IIS nicht sorgfältig genug installiert ("benutzerdefiniert"), kommen diese Dinger automatisch mit

            is denn IIS so schlecht?

            Nein. Es geht nicht um "gut" oder "schlecht", sondern um "sinnvoll". Wenn du mit dem IIS umgehen kannst, ist das ja in Ordnung, bloß können das eben die meisten "Sorgenkinder" nicht
            </seufz>

            ich hab IIS gesagt, dass es html-dateien mit der php.exe parsen soll, funkt ja wunderbar

            entschuldige, wenn ich da etwas mißtrauisch bin. Ja, ich weiß, daß man es dem IIS "sagen" kann. ERgibt denn "phpinfo" bei dir eine Bildschirmausgabe über das bei dir grade installierte PHP?

            und mysql muss bei IIS registriert werden? läuft mysql nicht als eigenständiger dienst, unabhängig von IIS??

            Richtig, mySQL ist kein "Server", sondern ein "Dienst". Und durchaus unabhängig vom vorhandenen Webserver.
            Aber du willst mySQL über PHP ansprechen. Also muß dein Server PHP verstehen, und deine PHP-Installation muß wiederum wissen, wo es auf dem Rechner mySQL finden kann

            Weißt du denn, wie du deine MAC-Adresse herausfindest?
            joa, zum beispiel über den netzwerkmonitor

            Ich meinte den Konsolenbefehl "ipconfig /all", den du mal an der "DOS-Eingabeaufforderung eingeben solltest, um die Netzwerkadressen insgesamt zu überprüfen

            Grüße aus Berlin

            Christoph S.

            1. hi Sorgenkind

              <seufz>

              ich befürchte, du hast dann auch gleich die "Servererweiterungen" mitinstalliert ...
              ne, die brauch ich nich
              Dann prüfe mal bitte, ob es in deinen Verzeichnissen irgendwelche Unterverzeichnisse gibt, die _vti_ im Namen haben

              gibt es nicht, weder in den standardverzeichnissen, noch in meinem selbst gewählten rootverzeichnis

              is denn IIS so schlecht?
              Nein. Es geht nicht um "gut" oder "schlecht", sondern um "sinnvoll". Wenn du mit dem IIS umgehen kannst, ist das ja in Ordnung, bloß können das eben die meisten "Sorgenkinder" nicht
              </seufz>

              hm, ich denke ich kann das was ich brauche, möchte abe nicht sagen "ich kanns" oder "ich kanns nich"

              ich hab IIS gesagt, dass es html-dateien mit der php.exe parsen soll, funkt ja wunderbar
              entschuldige, wenn ich da etwas mißtrauisch bin. Ja, ich weiß, daß man es dem IIS "sagen" kann. ERgibt denn "phpinfo" bei dir eine Bildschirmausgabe über das bei dir grade installierte PHP?

              phpinfo direkt in der adressleiste eingeben?
              habs mit phpinfo und mit :phpinfo probiert, er sucht jeweils den ausdruck im web

              und mysql muss bei IIS registriert werden? läuft mysql nicht als eigenständiger dienst, unabhängig von IIS??
              Richtig, mySQL ist kein "Server", sondern ein "Dienst". Und durchaus unabhängig vom vorhandenen Webserver.
              Aber du willst mySQL über PHP ansprechen. Also muß dein Server PHP verstehen, und deine PHP-Installation muß wiederum wissen, wo es auf dem Rechner mySQL finden kann

              php muss wissen, wo es auf dem rechner mysql finden kann?
              muss php nich einfach nur wissen, auf WELCHEM rechner er es zu suchen hat?

              Weißt du denn, wie du deine MAC-Adresse herausfindest?
              joa, zum beispiel über den netzwerkmonitor
              Ich meinte den Konsolenbefehl "ipconfig /all", den du mal an der "DOS-Eingabeaufforderung eingeben solltest, um die Netzwerkadressen insgesamt zu überprüfen

              ah, den all-befehl kannte ich noch garnich, oder ist es ein synonym zu /a ?

              Grüße aus Berlin

              Christoph S.

              dankende grüße

          2. Hi Sorgenkind Mech,

            ne, die brauch ich nich (wüsste zumindest nich wofür
            is denn IIS so schlecht?

            welche Version verwendest Du? Wieviele Service Packs hast Du nachträglich installiert, um die bekannten Sicherheitslücken zu schließen? Wie zufrieden bist Du mit der Dokumentation?

            Was Deine eigentliche Frage angeht: Ich halte die Verwendung von "localhost" im Prinzip für eine gute Idee.
            Sei Dir aber bewußt, wie die Auflösung eines Namens in eine IP-Adresse funktioniert (Zusammenspiel aus DNS und lokaler Host-Datei, Priorität ggf. in Deiner TCP/IP-Konfiguration einstellbar). Wenn Deine Hosts-Datei Vorrang vor dem DNS-Server Deines ISP hat, solltest Du keine Probleme haben.

            Viele Grüße
                  Michael

            --
            T'Pol: I apologize if I acted inappropriately.
            V'Lar: Not at all. In fact, your bluntness made me reconsider some of my positions. Much as it has now.