Verbindungstest mit PHP
SilenCe
- php
0 Götz0 Sven Rautenberg
Hallo,
Kann mir jemand einen Tipp geben wie einen Verbindungstest zu einem entfernten Server machen kann, ohne ftp_connect() zu nutzen (is leider deaktiviert bei strato) und ohne das meine aktuelle Session dabei unterbrochen wird.
Ich hatte versucht ein anderes script von einem anderen server einzubinden (wo ftp_connect aktiviert ist), welches den Rückgabewert true (für Verbindung = ok) oder false (Verb. = n. mgl.) wiederrum mit header an das mainscript zurückliefert. Das Problem dabei ist nur das die aktuelle session danach auf der folgenden Seite nicht mehr besteht. Wenn ich aber mit history.back() zurückgehe dann is die session wieder sichtbar.
strato - server (mainscript?go=step1) >> springt per header() auf einen puretec - server >> dieser führt ftp_connect() aus und >> sendet per header("Location: mainscript.php?go=step2&verbindung=true"); oder false
Hat da vielleicht jemand `ne IDEE? - Ich verzweifle hier schon fast
:(
Hallo SilenCe!
Hat da vielleicht jemand `ne IDEE? - Ich verzweifle hier schon fast
Muß der Verbindungstest per ftp gemacht werden?
Aber auch sonst kannst du ja mit fopen() auch Dateien von entfernten Server öffnen, also auch die auf dem Puretec-Server (es sei denn, Strato hat auch das deaktiviert).
Ansonsten könntest Du den Server, den Du testen willst auch einfach per Kommandozeile anpingen ... oder so.
Möglichkeiten sollte es eigentlich genug geben.
MfG
Götz
Moin!
...und ohne das meine aktuelle Session dabei unterbrochen wird.
Dafür bist du selbst zuständig. PHP setzt Cookies ein, um die Session-ID einem Browser zuzuordnen - hilfsweise wird die Session-ID als URL-Parameter oder verstecktes Formularfeld weitergereicht.
Wenn die Session bei dir nur per URL weitergegeben wird und es kein Cookie gibt, erkennt dich der Server nicht wieder.
Also mußt du die Session-ID an das entfernte Prüf-Script weiterreichen, und das Script muß die ID wieder zu dir zurückreichen.
Die aktuelle Session-ID gibt dir die Funktion session_id(), den Session-Namen die Funktion session_name(). Beides brauchst du, um einen URL-Parameter der Form Session-Name=Session-ID zusammenzubasteln.
Das entfernte Skript muß im Prinzip nur den Parameterteil 1:1 kopieren und wieder in den Redirect hineintun.
- Sven Rautenberg