woran kann es liegen, dass mein server mit $SERVER['REMOTEADDR'] immer die eigene ip speichert und nicht die des clients? habe den code schon an unterschiedlichen stellen eingefügt, hilft nix. $SERVER['HTTPXFORWARDEDFOR'] und $SERVER['HTTPFORWARDED_FOR'] sind leer

Das ist allerdings seltsam - wo läuft denn das Script? Kann es sein, dass nicht deine Externe sondern deine Netzinterne IP angezeigt wird (also die fürs LAN, statt der fürs Internet)?
Ansonsten: Ist denn immer die gleiche IP da drin oder wechselt das? Was passiert, wenn du auf dem gleichen Server lediglich eine php Datei mit
<?php echo $_ SERVER['REMOTE _ADDR'] ?>
(ohne die leerschläge hinter bzw vor dem _ )
anlegst und die aufrufst?
die formatierung der gf hat die unterstriche gefressen, aber ihr versteht schon, was ich meine :)
der script läuft einmal auf dem webserver und einmal bei mir local. die phpinfo() auf dem server funktioniert richtig (also die remoteaddr wird richtig ermittelt) bei mir local wird statt 127.0.0.1 127.0.0.9 angezeigt, das ist der virtual host des servers. vielleicht ist noch wichtig zu erwähnen, dass da noch soap im spiel ist und die anwendung für 2 server backend+frontend ausgelegt ist. habe schon den funktionsaufruf an unterschiedlichen codestellen ausprobiert, es kommt immer die falsche ip