kostenloser Webspace werbefrei: lima-city


Server Status überprüfen

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    marvinkleinmusic

    Kostenloser Webspace von marvinkleinmusic

    marvinkleinmusic hat kostenlosen Webspace.

    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
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. 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?
  4. Autor dieses Themas

    marvinkleinmusic

    Kostenloser Webspace von marvinkleinmusic

    marvinkleinmusic hat kostenlosen Webspace.

    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
  5. 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
  6. Autor dieses Themas

    marvinkleinmusic

    Kostenloser Webspace von marvinkleinmusic

    marvinkleinmusic hat kostenlosen Webspace.

    Ah habs hinbekommen , ist es auch irgendwie möglich die anzahl der ms auszugeben?

    LG
  7. 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);
    	}
    }
    ?>
  8. Autor dieses Themas

    marvinkleinmusic

    Kostenloser Webspace von marvinkleinmusic

    marvinkleinmusic hat kostenlosen Webspace.

    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
  9. 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. :wink:

    Beitrag zuletzt geändert: 27.11.2013 0:16:09 von fatfreddy
  10. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!