Serverferfügbarkeit amzeigen in Seite
Michimu
- php
0 Bert Randolf0 Bert Randolf
Hi... und fröhlichen guten morgen :-)),
habt Ihr schon mal einer Verfügbarkeitstabelle verschiedener Server gemacht?
Stelle mir das so vor:
Michimu-Server 1: Online
Michimu-Server 2: Online
Michimu-Server 3: Offline
...
Arbeite fast nur mit PHP... kann man sowas machen?
Ist mal was ganz neues für mich...
Gruß
und schönen Sonntag
Michimu
Hallo,
das einfache tool wäre ping.
Bert
Hallo,
das einfache tool wäre ping.
Und wie könnte ich das umsetzen mit PHP? Gibts da was zum nachlesen?
Michimu
Hallo
Und wie könnte ich das umsetzen mit PHP? Gibts da was zum nachlesen?
mit PEAR
http://pear.php.net/manual/de/package.networking.net-ping.php
Beispiel:
require ('Net/Ping.php');
$domain = 'bla.de';
$ping = Net_Ping::factory();
if(!PEAR::isError($ping)){
$ping->setArgs(array('count' => 1));
$result = $ping->ping($domain);
if (isset($result->message)) print $domain.' erreichbar';
}
Parse error: parse error, unexpected T_STRING in D:\doc1\Ping.php on line 2
Fatal error: Undefined class name 'net_ping' in D:\doc1\index2.php on line 36
:: --> Ping.php
<?
void Net_Ping::Net_Ping ('172.21.0.1');
?>
:: --> Index2.php
<?
require_once ('Ping.php');
$domain = 'ich.de';
$ping = Net_Ping::factory();
if(!PEAR::isError($ping)){
$ping->setArgs(array('count' => 1));
$result = $ping->ping($domain);
if (isset($result->message)) print $domain.' erreichbar';
}
?>
Ähm... wenn ich der Anleitung folge kommt hja das dabei raus, aber warum gehts dann ned, wenn´s in der Anleitung so steht :-(
Michimu
Hallo,
hast du PEAR installiert?
Hallo,
» hast du PEAR installiert?
Liegt im Apache oder ?
Hallo
» hast du PEAR installiert?
Liegt im Apache oder ?
nein beim Apachen ist das nicht dabei
wenn man PHP installiert, kann man sagen entweder mit PEAR oder ohne PEAR
man kann auch PEAR nachträglich mit Weboberfläsche installieren
http://pear.php.net/manual/de/installation.shared.php
z.B. "Ein lokales PEAR-Verzeichniss über FTP"
Hi,
also, PEAR ist jede mende davon im PHP-Verzeichnis vorhanden.
Ob es auch läuft ... kann ich nicht sagen. Habe noch nie kontakt damit gehabt.
Was muß ich tun ? *verzweifel :-)
Michimu
Hi,
hab zwar einige Zeit gebraucht, aber laut meiner XAMPP Anleitung ist PEAR vorhanden und betriebstauglich!
So .. nun nun verstehe ich davon gar nicht mehr, weil es ja dann funktionieren müsste oder?
Kann es sein, daß ich im php code von diesem Pung-php was falsch gemacht habe?
Wie sollte es den aussehen so etwa : (ich meine das Net/Ping.php)
<?
void Net_Ping::Net_Ping ('172.21.0.1');
?>
Michimu
ich hatte in mein Beispiel ein Fehler
ich habe das gerade getestet
require ('Net/Ping.php');
$domain = 'selfhtml.net';
$ping = Net_Ping::factory();
if(!PEAR::isError($ping)){
$ping->setArgs(array('count' => 1));
$result = $ping->ping($domain);
if (!isset($result->message)) print $domain.' erreichbar';
}
als Ausgabe erhielt ich
selfhtml.net erreichbar
das funktioniert auch, wenn du bei $domain eine IP einträgst...
das funktioniert auch, wenn du bei $domain eine IP einträgst...
Hallo,
kannst du mir irgendwie den Inhalt der Net/Ping.php nennen?
Wäre echt klasse... Den diese finde ich nirgends, habe alles absuchen lassen nach allem möglichen schreibweisen :-)
Nichts da.
Diese Datei fehlt mir.
Kannst du mir die ausnahmesweise geben ?
Michi
Hallo
kannst du mir irgendwie den Inhalt der Net/Ping.php nennen?
Wäre echt klasse... Den diese finde ich nirgends, habe alles absuchen lassen nach allem möglichen schreibweisen :-)
Nichts da.
Diese Datei fehlt mir.Kannst du mir die ausnahmesweise geben ?
wieso lädst du dir es nicht selber runter?
Hallo ...
sorry, das habe ich im experementierrausch übersehen...
Danke für deine Hilfe... ich werde jetzt einfah nochmal alles neu machen... Wird schon klppen :-)
Danke nochmals ...
Michimu
Hallo,
sorry, das habe ich im experementierrausch übersehen...
Danke für deine Hilfe... ich werde jetzt einfah nochmal alles neu machen... Wird schon klppen :-)
können wir ja nur hoffen, dass es bei dir funktioniert ;-)
Hallo,
ich habe da eine andere Lösung mit der man testen kann ob auch wirklich der Service läuft, der laufen soll. In diesem Fall wollen wir testen, ob der HTTPd läuft, also testen wir Port 80:
<?php
// srvcheck.php - testet auf Verfügbarkeit eines Services.
$target="http://www.domain.de";
$port=80; // der HTTPd läuft ja standardmäßig auf 80 ;)
@checkp($target,$port);
function checkp($target,$port)
{
if(!$sock=fsockopen($target,$port,&$num,&$error,5)) $msg="offline";
else
{
$msg="online";
fclose($sock);
}
echo $msg;
}
?>
Statt "online" bzw. "offline" kannst du natürlich auch den HTML-Code zur Einbindung eines Bildes oder eines anderen formatierten Textes hinschreiben.
Da, wo der Text oder das Bild dann erscheinen soll, einfach die Datei einbinden: include("srvcheck.php");
Grüße aus Berlin,
Björn H.
Ist im PHP Verzeichnis vorhanden - ja!
Michimu
Halo,
Ist im PHP Verzeichnis vorhanden - ja!
funktioniert PEAR auch?
d.H. kannst du die PEAR Dateien includen?
Hello,
das einfache tool wäre ping.
Ist Ping wirklich in der Lage, den Server zu identifiziern oder nur den Host, auf dem der Server läuft?
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
Hallo,
das einfache tool wäre ping.
Ist Ping wirklich in der Lage, den Server zu identifiziern oder nur den Host, auf dem der Server läuft?
so wie ich das verstanden habe, will er nur testen, ob die Domain erreichbar ist
Hello,
das einfache tool wäre ping.
Ist Ping wirklich in der Lage, den Server zu identifiziern oder nur den Host, auf dem der Server läuft?
so wie ich das verstanden habe, will er nur testen, ob die Domain erreichbar ist
Und werden Domains mit UDP oder ICMP angesprochen, oder mit HTTP?
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
Hallo,
das einfache tool wäre ping.
Ist Ping wirklich in der Lage, den Server zu identifiziern oder nur den Host, auf dem der Server läuft?
so wie ich das verstanden habe, will er nur testen, ob die Domain erreichbar ist
Und werden Domains mit UDP oder ICMP angesprochen, oder mit HTTP?
unter http://pear.php.net/manual/de/package.networking.net-ping.php kann ich dazu nix genaues finden, müsste man mal in das Packages schauen
Hallo,
Ist Ping wirklich in der Lage, den Server zu identifiziern oder nur den Host, auf dem der Server läuft?
letzeres, ansonsten kann man einfach ein request machen und gucken, ob was zurück kommt.
Bert
Hallo,
wie meinst du das? Kannst mir das mal erklären... ?
Michimu :-)
Hello,
wie meinst du das? Kannst mir das mal erklären... ?
Na, nachdem wir nun gekärt haben, dass ICMP und UDP vom Host und nicht vom Server betrieben werden, könntest Du ja mal googlen.
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
Hi,
also noch was.
ich würd zwei bilder machen on.gif und off.gif <-logisch oder?
und das on.gif packst du auf jeden von deinen servern drauf.
dann machst du auf der übersichtseite folgendes:
ich schätze mal du hast ja auch einen server, der an sein muss, damit du dir die seite überhaupt angucken kannst:
Server1 <img src="http://server1/images/on.gif" onerror="this.src='http://serverimmeran/off.gif'">
Server2 <img src="http://server2/images/on.gif" onerror="this.src='http://serverimmeran/off.gif'">
usw.
oder falls du dir das nur lokal ohne server angucken willst geht ja auch
Serverx <img src="http://serverx/images/on.gif" onerror="this.src='/home/user/off.gif'">
oder
Server2 <img src="http://server2/images/on.gif" onerror="this.src='c:\blbu\off.gif'">
Bert