Mit PHP Checken ob Server online ist

M

maensen

Guest
Liebe Leser dieses Beitrages, ich habe leider keine Ahnung von PHP und möchte Euch als Große Meister bitten mir mal aus der Patsche zu helfen. Habe schon einige kleine Sachen schon versucht aber ohne Erfolg.
Ich brauche für PHP folgendes Script !

Ist der Server http://beispielurl.de nicht erreichbar
dann soll http://fehlermeldung.de/fehler.html geladen werden
und wenn nicht
dann soll http://beispielurl.de geladen werden

oder halt andersdrum

Ist der Server http://beispielurl.de erreichbar
dann soll http://beispielurl.de geladen werden
und wenn nicht
dann soll http://fehlermeldung.de/fehler.html geladen werden
 
hallo...

also damit du sowas machen kannst, braucht du min 2 Server bzw 3.

Einen für www.serverchecker.ch (prüft, ob ein server verfügbar ist)
Einen mit www.seite1.ch
Einen mit www.seite2.ch

Meinst du sowas?

Hast du 3 Server?
 
Hallo

Ich würde das so machen:

CODE
<?php
$fp = fsockopen("http://beispielurl.de", 80, $errno, $errstr, 30);

if (!$fp) {
header("Location: http://fehlermeldung.de/fehler.html");
exit;
} else {
header("Location: http://beispielurl.de");
exit;

}

fclose($fp);

?>


Ich habe es nicht getestet, sollte aber etwa so funktionieren.

cu
Lexus
 
suche mal auf php.net in der befehlsreferenz, dort hab ich sowas mal gesehen. eine genaue funktion, um die existenz eines url zu testen, gibt es leider nicht (habe ich dort gelesen), aber z.b. mit obigem code sollte es schon gehen.

die php.net referenz ist wirklich sehr nützlich, da viele user ihre ergänzungen und eigenen functions posten.
smile.gif
 
@Lexus
Ich habe so etwas Ähnliches gefunden und das geht ! Probiere aber deins mal aus. Ich könnte mir vorstellen, das es schneller funktioniert. Wie gesagt ich habe zu wenig Ahnung von php.


Und ich habs gerade getestet. Blitzschnell. Danke Lexus.
Das mußte ich ändern:
$fp = fsockopen("http://beispielurl.de", 80, $errno, $errstr, 30);
in
$fp = fsockopen("beispielurl.de", 80, $errno, $errstr, 30);
Jetzt werde ich mich mal ranmachen und versuchen zu verstehen was da drin steht !


Vielen Dank an Alle die hier tatkräftig gepostet haben um mir zu helfen
 
Sehr gut, womöglich musst du noch den Timeout ändern, da es sonst 30 Sekunden dauert, bis erkannt wird, dass der Server down ist.

cu
lexus
 
Klasse werds mal testen mit kleinerem Timeout. Aber es geht schneller wie das was ich vorher hatte. Das war mit Javascript für die Zeile -> header

Vielen Dank nochmal, du hast mir sehr schnell weiter geholfen.
 
Zurück
Oben