Server Status überprüfen
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
anzahl
array
ausgeben
befehl
beispiel
code
computer
eigeninitiative
einzelnen rechner
folgendem code
funktion
host
http
laufen
problem
senden
server
stehen
url
zahl
-
Hallo Zusammen,
Ich habe mich mal im Tutorial Bereich ein wenig umgeschaut um bin dort auf folgendes gestoßen.
http://www.lima-city.de/tutorials/serverstatus-script
Nun mein Problem ist das es nicht mehr funktioniert , ich diese Funktion dennoch gerne nutzen würde.
für die Domains: marvinkleinmusic.de,mail.lima-city.de,mysql.lima-city.de,marvinkleinmusic.bplaced.net
Desweiteren würde ich gerne noch die anzahl der ms ausgeben lassen und nicht die Adresse sondern einen eigenden Text z.B. Download Server:Online 14ms etc.
Hier einmal der Code:
<?php $computers = array("www.marvinkleinmusic.de","www.mail.lima-city.de","www.mysql.lima-city.de","www.marvinkleinmusic.bplaced.net"); $zahl = count($computers); echo "Momentaner Status der einzelnen Rechner: <br>"; for($i=0;$i<$zahl;$i++) { $ping = exec("ping $computers[$i] -n 1", $online); $arr_count = count($online); // Host offline -> $arr_count = 6 ******** // Host online -> $arr_count = 8 ******** if ($arr_count <=6) { print "<br>$computers[$i] ist <font color=\"#FF0000\"><b>offline</b>.</font>\n"; } else { print "<br>$computers[$i] ist <font color=\"navy\"><b>online</b>.</font>\n"; } } ?>
Online Beispiel: http://marvinkleinmusic.de/test.php
LG -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Das Problem ist, dass du das Script bei Lima City laufen lässt. Für den Ping wird die Funktion exec benötigt, die bei nahezu jedem Webhoster gesperrt ist, weil du darüber Befehle an das System senden kannst. Du musst also einen eigenen Computer benutzen. Hast du es schonmal unter XAMPP laufen lassen?
-
Hallo!
Jop auf Xampp läuft alles mit online.
Allerdings wenn ich das ganze bei php.net noch mehr einsehe bin ich noch auf diese Funktion gestoßen.
Diese funktioniert auch auf dem Webspace , doch wie kann ich das Script so anpassen das ich das resultat habe mehrere Seiten zu überprüfen und nur ein Online bzw. Offline ausgeben kann?
<?php $fp = fsockopen("www.example.com", 80, $errno, $errstr, 30); if (!$fp) { echo "$errstr ($errno)<br />\n"; } else { $out = "GET / HTTP/1.1\r\n"; $out .= "Host: www.example.com\r\n"; $out .= "Connection: Close\r\n\r\n"; fwrite($fp, $out); while (!feof($fp)) { echo fgets($fp, 128); } fclose($fp); } ?>
LG -
Das geht mit folgendem Code:
<?php $serverlist = array ("server1.com", "server2.com", "server3.com"); foreach ($serverlist as $server) { $fp = fsockopen($server, 80, $errno, $errstr, 30); if (!$fp) { echo "$errstr ($errno)<br />\n"; } else { $out = "GET / HTTP/1.1\r\n"; $out .= "Host: ".$server."\r\n"; $out .= "Connection: Close\r\n\r\n"; fwrite($fp, $out); while (!feof($fp)) { echo fgets($fp, 128); } fclose($fp); } } ?>
Ein Array erstellen und es anschließend mit foreach durchlaufen
Beitrag zuletzt geändert: 26.11.2013 21:17:13 von hc-tools -
Ah habs hinbekommen , ist es auch irgendwie möglich die anzahl der ms auszugeben?
LG -
Das ist möglich indem du die Zeit mit microtime(true) misst:
<?php $serverlist = array ("server1.com", "server2.com", "server3.com"); foreach ($serverlist as $server) { $starttime = microtime(true); $fp = fsockopen($server, 80, $errno, $errstr, 30); if (!$fp) { echo "$errstr ($errno)<br />\n"; } else { $out = "GET / HTTP/1.1\r\n"; $out .= "Host: ".$server." Antwortete nach: ".microtime(true) - $starttime."\r\n"; $out .= "Connection: Close\r\n\r\n"; fwrite($fp, $out); while (!feof($fp)) { echo fgets($fp, 128); } fclose($fp); } } ?>
-
hmm Merkwürdig ich erhalte jetzt immer:
www.marvinkleinmusic.de ist Online. GET / HTTP/1.1 -1385501082.91 Connection: Close
www.marvinkleinmusic.bplaced.net ist Online. GET / HTTP/1.1 -1385501082.92 Connection: Close
Da soll einfach nur stehen :
www.marvinkleinmusic.de ist Online 12ms
Als beispiel.
und wieso steht da immer -138etc ?
LG -
marvinkleinmusic schrieb:
Da soll einfach nur stehen : ...
Dann schmeiß doch einfach die überzähligen Zeilen aus dem vorgekauten Skript raus, lese dich in die verwendeten Funktionen ein und experimentiere. Soviel Kreativität und Eigeninitiative kann man doch wohl von dir verlangen. Du kannst nichts kaputt machen, Du kannst nur lernen. Hc-tooös hat schon mehr für dich getan, als für dich gut ist.
Beitrag zuletzt geändert: 27.11.2013 0:16:09 von fatfreddy -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage