Script nach x Sekunden abbrechen

Moritz123

Erfahrenes Mitglied
Hallo,

ich habe versucht mir selbst eine Möglichkeit zu schaffen, meinen Heimserverstatus zu überprüfen, da die Methode mot fsockopen() nicht
funktioniert hat. Ich habe jetzt einfach auf meinem heimserver eine status.php mit folgendem Inhalt erstellt: $status=1;
Die include ich in die eigentliche status.php auf meinem Webserver wie folgt:
PHP:
@include("adressezumdynhost.org/status.php");
if ($status != "1"){ echo "offline..."; }
else { echo "online..."; }

Dies funzt auch ganz gut, so lange der Heimserver online ist. Ist er allerdings offline, lädt die Seite ewig, da die datei ja nicht includiert(?) werden kann.
Nun meine Frage:
gibt es eine Möglichkeit, dass Script nach x Sekunden abzubrechen und dann "offline..." ausgeben zu lassen?
 
ser's

versuchs mal so ...

PHP:
$file = fopen ("http://adressezumdynhost.org/status.php", "r");
if (!$file) {
    echo "offline!";
    exit;
} else {
    echo "online!";
    exit;
}

is jetzt nicht geteste ... nur so ne überlegung ...

mfg
 
Danke erst mal. Leider hat mnich dein Vorschlag nicht sonderlich weiter gebracht, da summa sumarum das selbe passiert: ist der Server offline, dauert es ewig, bis die Seite geladen ist. Ich brauche daher eine Möglichkeit, dem Script eine bestimmte Ausführdauer zur verfügung zu stellen. Wird diese Dauer überschritten, kann ich ja davon ausgehen, dass der Heimserver offline ist.
 
PHP:
$fp = fsockopen("adressezumdynhost.org", 80, $errno, $errstr, 5); // 5 sec timeout
if (!$fp) {
  echo "offline";
} else {
  echo "online";
  fclose($fp);
}
So würd's ich machen.
 
Das ist irgendwie sehr komisch mit dem fsockopen: rufe ich die Seite auf, wenn der Heimserver offline ist, wird dies angezeigt. "Stelle" ich den Heimserver "an" und aktualisiere dann die Seite, so wird immer noch angezeigt, dass der Server offline ist. Es hilft auch nicht den Browsercache zu leeren.
 
Zurück