SilenCe: Verbindungstest mit PHP

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

:(

  1. 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

    --
    Losung und Lehrtext für Donnerstag, 16. Oktober 2003
    Du holst mich wieder herauf aus den Tiefen der Erde. Du machst mich sehr groß und tröstest mich wieder. (Psalm 71,20-21)
    Eine Frau, die seit zwölf Jahren den Blutfluss hatte, trat von hinten an Jesus heran und berührte den Saum seines Gewandes. Da wandte sich Jesus um und sah sie und sprach: Sei getrost, meine Tochter, dein Glaube hat dir geholfen. Und die Frau wurde gesund zu derselben Stunde. (Matthäus 9,20.22)
    (http://www.losungen.de/heute.php3)
  2. 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

    --
    "Beim Stuff für's Web gibts kein Material, was sonst das Zeugs ist, aus dem die Sachen sind."
    (fastix®, 13. Oktober 2003, 02:26 Uhr)