Naja, wie Du in meinem zweiten Script erkennen kannst, liest dieses genau diese aus … (zumindest, wenn alle vorherigen Mechanismen versagen)
‚REMOTE_ADDR‘ funktioniert aber logischerweise auf keinem lokalen Webserver. Diese Variable wird in php nur initialisiert, wenn es auch wirklich eine REMOTE ADRESSE gibt. Ruft Du dein IPS aber von einem Client im lokalen Netz auf, bekommt das I-Net, dein Router und deine öffentliche IP davon NULL komma NICHTS mit …
Also kann auch diese SUPERGLOBAL Variable nicht vorhanden sein ==> deshalb bekommst Du den Fehler.
Wenn ich das zweite Script auf meinem IPS lokal ausführe, bekomme ich verständlicherweise:
Notice: Undefined index: REMOTE_ADDR in [allgemeineScript\helloWorld.ips.php] on line 15
In diesem Moment existiert keine REMOTE_ADDR bzw. diese ist 127.0.0.1. Aber definitiv nicht die externe IP deines Routers.
Ohne, dass es dich weiter bringt … Wenn Du deinen IPS von außen erreichbar machst über ein Port-Forwarding und dann das zweite Script von außerhalb aufrust, sollte meines Erachtens die externe IP Adresse des Clients herauskommen, mit dem Du gerade den IPS ansprichst.
Aber all das hat wenig mit PHP, sondern mehr mit Netzwerk Topologie zu tun. Ohne nach außen zu gehen, wird die öffentliche IP ja nicht genutzt.
Die einzige Chance, die IP herauszubekommen, ohne wirklich nach außen gegangen zu sein liegt darin, Sie vom Router zu erfahren. Für Fritz!Boxen zum Beispiel gibt es soweit ich weiß eine Status-Seite, die man eventuell sogar ohne Einloggen am Router aufrufen kann.
Da einen WWW-Reader von IPS drauf losgelassen und Du weißt die IP ohne ein Packet nach außen zu senden. Aber der Aufwand, dass für deinen eigenen Router zu stricken ist doch irgendwie ziemlich hoch …
Aber warum willst Du die IP unbedingt herausbekommen, ohne sie von außen zu erfahren. Es gibt doch nur zwei Möglichkeiten:
1. Du bist online ==> Du kannst die IP bei wieistmeineip.de oder mit dem 2. Script auf deiner eigenen Homepage erfahren
2. Du bist NICHT online ==> Der Aufruf nach außen wird fehlschlagen und Du kannst daraus schließen, dass Du nicht online bist …
Ich hoffe, es einigermaßen verständlich erklärt zu haben