Gibts $REMOTE_ADDR nicht (mehr)

Hallo zusammen,
Gibts $REMOTE_ADDR nicht (mehr)
läuft bei mir auf Fehler.
$ip= $REMOTE_ADDR;
$host = gethostbyaddr($ip);
geht net.

$host = ‚pcname‘;
geht.

irgend jemand ein Tipp?

Danke und

Umstellung der PHP-Version, Google sagt dir mehr…

Hallo Hagbard235,
wenn ichs richtig „ergoogelt“ habe ist der Nachfolger für PHP 5.4 und 5.5:
$_SERVER[‚REMOTE_ADDR‘]
Funktioniert aber auch nicht.
Kann es sein, dass mit IPS nur ein „beschränktes“ PHP mitgeliefert wird? Oder funtionierts nur unter Linux?
phpinfo() jedenfalls gibt kaum Variablen aus.

Kann mir bitte jemand eine definitive Antwort zur IPS-PHP-Version geben? Bevor ich mir hier noch einen Wolf suche?

Ein Super BonBon wäre noch, wenn noch jemand einen Tipp zu einer Alternative gäbe.

Danke für Eure Antworten,

Ich denke hier liegt ein Bug vor.
P.S. Beziehungsweise könnte es auch sein das es auch nur WAN Seitig geht und nicht lokal.

Hallo Thomas,

ein Bug worin? PHP? IPS?

In der Doku gibts die $_IPS[‚REMOTE_ADDR‘] noch. Funktioniert aber auch nicht.

Alternativen?

Danke für Deine Antwort.

Hast Du es schonmal außerhalb Deines lokalen Netzes probiert, also z.B. per DYNDNS?

…Ungeachtet dessen…

…spuckts bei mir

PHP Version => 5.4.0RC3

aus.
Was sich auch hiermit deckt…

Mit IP-Symcon 2.5 wurde auf die neue PHP 5.4 Version aktualisiert
… bzgl. der Frage:

Selbes Ergebnis.

@nancilla
bei mir spuckt phpinfo auch viel aus, aber eben nicht die erwarteten integrierten Variablen. Sorry wenn ich mich missverständlich ausgedrückt habe.

Ja bei mir auch.
Die Werte sollten vom IPS Webserver kommen, warum diese nicht definiert sind muß uns paresy sagen.

Dann bin ich mal gespannt auf paresy´s Antwort.

Also in einer normalen PHP-Datei (im IPS-Webserver) funktioniert $_SERVER[‚REMOTE_ADDR‘] ohne Probleme. Im IPS hab ich es jetzt nicht aufgerufen.

///EDIT

Als Script innerhalb von IPS geht es nicht, dort sagt er

Notice: Undefined index: REMOTE_ADDR in [Verwaltung estphp est] on line 2

obwohl es vom selben Server ausgeführt wird…

Das ist auch der einzige Fall, der laut Doku vorhanden sein soll. Wer auch immer per Execute erwartet, das da was kommt, liegt falsch :wink:

paresy

Mag an mir liegen, aber deinen Satz hab ich jetzt nicht verstanden :wink:

bzw. war mir nicht bewusst, dass in IPS-Scripten eine begrenzter php-Befehlsumfang zur Verfügung stünde, ist dem so? Ich dachte die php-eigenen Funktionen könnten verwendet werden?

In der Doku ist alles genau drin:
Systemvariablen: IP-Symcon :: Automatisierungssoftware

Es gibt 2 Fälle bei denen es ein REMOTE_ADDR gibt.

  1. Fall
    Wenn ihr direkt eure Seite per WebServer aufruft z.B. http://localhost:82/user/test.php dann gibt es ein $_SERVER[‚REMOTE_ADDR‘]

  2. Fall
    Wenn ihr ein Skript über das WebFront startet, dass gibt es ein $_IPS[‚REMOTE_ADDR‘]

paresy

Ein Sonderfall ist das iFront, da ist der Versender „RunScript“, hier geht print_r($_IPS[‚REMOTE_ADDR‘]); nicht, dort hatte ich es probiert.:wink:

@Wolfgang also $_IPS[‚REMOTE_ADDR‘]; benutzen (im WebFront)

Nicht alle Systemvariablen sind immer verfügbar. Je nach $_IPS[‚SENDER‘] gibt es verschiedene Möglichkeiten die, wie gesagt, hier dokumentiert sind: Systemvariablen: IP-Symcon :: Automatisierungssoftware

paresy

Das ist m.E. eine unschöne Abweichung, die in der nächsten Version entsprechend korrigiert wird, sodass auch dort diese Variable verfügbar ist.

paresy

Verstehe, auch das die anderen Server-Variablen im Webfront selten Sinn machen, klar, hätte aber nicht gedacht, dass du sie deswegen extra nochmal „gekapselt“ hast und unter IPS_ zur Verfügung stellst. Aber vielleicht dient es ja auch der Sicherheit oder dem Schutz der internen Funktionen :wink:

Ja. Die Skripte werden in einem völlig anderen Kontext ausgeführt, wo $_SERVER gar nicht mehr vorhanden ist :slight_smile:

paresy

Hallo zusammen,
vielen Dank für die vielen Antworten und die kompetenteren Nachfragen.
Ich glaub ich hab jetzt auch die Doku besser verstanden.
Funktioniert übrigens wie beschrieben.
Danke noch mals und