ERLEDIGT
JA
JA
ANTWORTEN
2
2
ZUGRIFFE
476
476
EMPFEHLEN
-
19.04.05 12:27 #1
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):
Dabei geht es mir um die Zeile: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 ($url, 80, $errno, $errstr, 5);
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($new, 4096);
while ((strncmp($str, 'HITS=', 5)) && (!feof($new))) {$str = fgets($new, 4096);}
$NumberOfResults = substr($str, 5);
$Total = substr(fgets($new, 4096), 6);
$ResponseTime = substr(fgets($new, 4096), 5);
if ($NumberOfResults>0){$HasResults = 1;}
}
Ach ja hier noch die Fehlermeldung welche vom Script ausgegeben wird:PHP-Code:$new = fsockopen ($url, 80, $errno, $errstr, 5);
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)
-
Hallo,
in dem Script ist bereits eine Abfrage, ob die Verbindung aufgebaut wurde
die Zeileerledigt das.PHP-Code:if ($new) {
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 ($url, 80, $errno, $errstr, 5);
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";
}
-
19.04.05 15:17 #3
Jetzt wirds leichter - Vielen Dank
Ähnliche Themen
-
Problem mit fgets bei fsockopen.
Von Nord-Süd-Richtung im Forum PHPAntworten: 1Letzter Beitrag: 04.09.09, 19:38 -
Twitter auslesen mit PHP (fsockopen Problem)
Von kwmaster im Forum PHPAntworten: 3Letzter Beitrag: 22.02.09, 16:58 -
Problem mit Download auf Server... (fsockopen())
Von eXus49 im Forum PHPAntworten: 3Letzter Beitrag: 04.12.07, 06:33 -
fsockopen Problem vom Localhost
Von GarGod im Forum PHPAntworten: 5Letzter Beitrag: 03.04.07, 21:38 -
Problem mit fsockopen
Von Dolphon im Forum PHPAntworten: 4Letzter Beitrag: 11.10.06, 10:10





Zitieren
Login






[PHP][Snippet] Array zu XML konvertieren