fsockopen & NON-Standard-http-Port

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • fsockopen & NON-Standard-http-Port

    Hallo PHP-Freunde,

    ich bin bald am verzweifeln. Ich betreibe auf meinem privaten Server 2 phpNuke basierende Portale über non Standard-Ports. Die Portalsoftware ermöglicht unter anderem mittels eines Backend-Scriptes das auslesen von News (NewsHeadline-Grabber). Dummerweise funktioniert das nur auf dem Standardport 80 . Einige Module funktionieren aus dem Grunde anscheinend auch nicht korrekt, welche auf Standardport 80 einwandfrei laufen.

    Verantwortlich hierfür ist die Auswertung mittels der Funktion headlines, die vom backend.php-script genutzt wird. Und in der Funktion headlines, wird fsockopen genutzt, wo wohl die Ursache zu suchen ist. Wie kann ich nun es realisieren, das das auslesen der Newsheadlines auch auf anderen Ports funktioniert. Ich hab schon alles mögliche ausbrobiert, hat alles nix gebracht

    Wenn man den Script direkt im Browser aufruft, werden die Newsheadlines korrekt ausgelesen, aber wenn ich selbst die Backend.php in phpNuke einbinde um die Newsheadlines als Block darzustellen, sagt mir das Programm nur "Es gibt Probleme mit den News". Das ist die generierte Fehlermeldung von backend.php. Möchte ein anderer der auch mit phpNuke arbeitet, meine News einbinden, bekommt er die gl. Fehlermeldung.

    ###
    function headlines($bid) {
    global $prefix;
    $result = mysql_query("select title, content, url, refresh, time from $prefix"._blocks." where bid='$bid'");
    list($title, $content, $url, $refresh, $otime) = mysql_fetch_row($result);
    $past = time()-$refresh;
    if ($otime < $past) {
    $btime = time();
    $rdf = parse_url($url);
    $fp = fsockopen($rdf['host'], 80, $errno, $errstr, 15);
    if (!$fp) {
    $content = "<font size=\"2\">"._RSSPROBLEM."</font>";
    $result = mysql_query("update $prefix"._blocks." set content='$content', time='$btime' where bid='$bid'");
    themesidebox($title, $content);
    return;
    }
    ###

    Wer ein phpNuke-Portal betreibt, kann ja mal versuchen die News einzubinden...

    http://www.cuf-world.dtdns.net:83/portal/backend.php

    Ich würde mich freuen, wenn der eine oder andere hier ein Tip zur Lösung meines Problemes hat...

    co Yogi

    PS: Dokus & FAQs habe ich schon durchgeforstet ohne Ende, aber noch nicht den entscheidenen Tip oder Hinweis gefunden.

  • #2
    Hi,

    schick!

    Also mit eignen Worten:
    phpNuke nutzt Port 83 für den Verbindungsaufbau und die Headlines-Fkt. Port 80. Wie kommst Du über oder besser um den Port 83 wieder auf 80?

    Du machst einen recht professionellen Eindruck. Also schenke ich mir das Grundlagen-Gedöhns. Vielleicht kannst Du damit was anfangen?

    PHP-Code:

    /*** Server*********
    ******************/

    // Socket an Adresse binden
    socket_bind($socket,$rdf['host'] , 83);

    // Auf Verbindung warten
    socket_listen($socket,2);

    // Verbindung annehmen
    $new_socket socket_accept($socket);

    //Daten lesen
    $msg_buffer=socket_read($new_socket,4096);
    $msg_buffer=unserilize($msg_buffer);
     
    //Sockets schliessen
    socket_close($new_socket); 
    Mehr dazu findest Du hier:
    http://www.php.net/manual-lookup.php?pattern=Socket

    Hoffe, konnte Dir irgendwie helfen

    Blaster
    Yuppi, endlich Elite ...

    Kommentar

    Lädt...
    X