tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
2
ZUGRIFFE
476
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von dwex
    dwex dwex ist offline Mitglied Platin
    Registriert seit
    Apr 2005
    Ort
    Landshut (Niederbayern)
    Beiträge
    695
    Hallo zusammen,

    ich habe ein Problem mit einem Script von espotting - welche auf meiner Website die Angebote von espotting einblenden soll.

    Jetzt ist heute folgendes passiert.
    Der Server von espotting ist/war nicht erreichbar - was zur folge hatte dass beim Aufruf des Scripts meine max. zulässigen Connections auf dem Server vollgelaufen sind und der Apache daraufhin jede weitere Anfrage blockierte.

    es ist im script folgender Quelltext enthalten (Auszug):
    PHP-Code:
    <?

    $hits
    =7#number of results per page
    $bkfill=0#backfill results: 0=none, 1=inktomi
    $noadult=1#adult filter: 0=off, 1=on
    $affiliateId=630#hardcoded for espotting
    $url="affiliate.de.espotting.com"#territory


    if ($page<2) {$page=1;}
    $keyword str_replace('\"'''$keyword);
    $new fsockopen ($url80$errno$errstr5);

    if (
    $new) {
            
    $uri str_replace(" ""%20""/search/qsearch/results.asp?keyword=$query;&hits=$hits&page=$page&bkfill=$bkfill&noadult=$noadult&affiliateId=$affiliateId");
            
    fputs($new"GET $uri HTTP/1.0\r\n\r\n");
            
    $str fgets($new4096);
            while ((
    strncmp($str'HITS='5)) && (!feof($new))) {$str fgets($new4096);}
            
    $NumberOfResults substr($str5);
            
    $Total substr(fgets($new4096), 6);
            
    $ResponseTime substr(fgets($new4096), 5);
            if (
    $NumberOfResults>0){$HasResults 1;}
                      }
    Dabei geht es mir um die Zeile:
    PHP-Code:
    $new fsockopen ($url80$errno$errstr5); 
    Ach ja hier noch die Fehlermeldung welche vom Script ausgegeben wird:
    Code :
    1
    
    Warning: fsockopen(): unable to connect to affiliate.de.espotting.com:80 in /www/web2/html/espotting.php on line 13

    Könnte man jetzt diese Zeile nicht mit einer vorhergehenden IF-Abfrage belegen ob der Server überhaupt erreichbar ist oder nicht und dann erst den fsockopen-Befehl ausführen?

    Wenn mein Gedankengang richtig ist wäre ich euch sehr sehr sehr dankbar wenn Ihr mir eine passende IF-Abfrage posten könntet - hier bin ich noch nicht so Fit wenn es ums selberprogrammieren geht.
    Geändert von dwex (19.04.05 um 12:45 Uhr)
     

  2. #2
    yson yson ist offline Mitglied Silber
    Registriert seit
    Apr 2003
    Beiträge
    94
    Hallo,

    in dem Script ist bereits eine Abfrage, ob die Verbindung aufgebaut wurde
    die Zeile
    PHP-Code:
    if ($new) { 
    erledigt das.

    Wenn du die Fehlermeldung unterdrücken willst, kannst du einfach
    @fsockenopen schreiben.

    Hier mal ein Beispiel wie du unterscheiden kannst, ob die
    Verbindung steht oder nicht.

    PHP-Code:
    $url="affiliate.de.espotting.com"#territory
    $new = @fsockopen ($url80$errno$errstr5);

    if (!
    $new) {
      
    # in diesem Teil kannst du auf eine nicht bestehende 
      # Verbindung reagieren
      
    print "Nicht verbunden";
    } else {
      
    # die Verbindung steht, jetzt kann dein Script durchlaufen 
      
    print "Verbunden";

     

  3. #3
    Avatar von dwex
    dwex dwex ist offline Mitglied Platin
    Registriert seit
    Apr 2005
    Ort
    Landshut (Niederbayern)
    Beiträge
    695
    Jetzt wirds leichter - Vielen Dank
     

Ähnliche Themen

  1. Problem mit fgets bei fsockopen.
    Von Nord-Süd-Richtung im Forum PHP
    Antworten: 1
    Letzter Beitrag: 04.09.09, 19:38
  2. Antworten: 3
    Letzter Beitrag: 22.02.09, 16:58
  3. Antworten: 3
    Letzter Beitrag: 04.12.07, 06:33
  4. fsockopen Problem vom Localhost
    Von GarGod im Forum PHP
    Antworten: 5
    Letzter Beitrag: 03.04.07, 21:38
  5. Problem mit fsockopen
    Von Dolphon im Forum PHP
    Antworten: 4
    Letzter Beitrag: 11.10.06, 10:10