CronJob-Service
bei SELFPHP mit ...
|
+ minütlichen Aufrufen
+ eigenem Crontab Eintrag
+ unbegrenzten CronJobs
+ Statistiken
+ Beispielaufrufen
+ Control-Bereich
Führen Sie mit den CronJobs von
SELFPHP zeitgesteuert Programme
auf Ihrem Server
aus. Weitere Infos
|
:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden |
21.03.2002, 18:31:44
|
Anfänger
|
|
Registriert seit: Mar 2002
Beiträge: 1
|
|
Einen Server anpingen, ob er on ist?!
Hi zusammen,
kennt jemand von euch einen Weg, einen Server über seine IP anzupingen und damit auszuwerten, ob er on ist, oder nicht (Paket übermittelt oder TimeOut)?
Viiielen Dank im voraus!
Jupp
|
29.03.2002, 13:56:20
|
Anfänger
|
|
Registriert seit: Mar 2002
Beiträge: 7
|
|
ping
Ich würde lieber versuchen, dort ein ständig vorhandenes File zum Lesen zu öffnen. Einen klassischen Ping gibt's glaub nicht.
Diese Methode wird von ein paar Servern nicht erlaubt, aber ist ansonsten praktisch:
<?
/* Oeffne Datei zum Lesen */
$fp=@fopen("http://www.yourdomain.com/robots.txt","r");
/* Hole 2 Zeichen */
$test=@fgets($fp,2);
/* Pruefe Ergebnis */
if (isset($test)) {echo "ok";} else {echo "not ok";}
@fclose($fp);
?>
Die @-Zeichen sind dazu da, Fehlermeldungen zu unterdrücken, sollte der Server welche ausgeben. Ist in diesem Fall sinnvoll, weil wir ja Fehler erwarten.
|
13.08.2003, 10:51:55
|
Administrator
|
|
Registriert seit: Jan 2002
Ort: Köln
Alter: 53
Beiträge: 1.276
|
|
Hi,
einen Server mit PHP anzupingen wird nicht gehen.
Du kannst aber einen anderen Weg gehen und eine Socket-Verbindung aufbauen.
PHP-Code:
/**
* @var string $host - Hier gehoert der Host rein
* @var integer $time - Zeit in Sekunden (z.B. 3) - Nach 3 Sekunden bricht er ab
*/
$fp = fsockopen($host,80,&$errno, &$errstr,$time);
if (!$fp){
// Fehler - Server nicht erreichbar
}
fclose($fp);
Bye Damir
|
13.08.2003, 18:29:42
|
Senior Member
|
|
Registriert seit: Apr 2003
Alter: 57
Beiträge: 1.236
|
|
Hi Jupp,
schau Dir mal den Thread an http://www.selfphp.info/forum/showth...5&pagenumber=3
Wenn Du Windows benutzt, hier mal ein Ansatz:
PHP-Code:
<?php
$ip = "192.168.1.13"; // Deine zu pingende IP
$online = shell_exec("ping $ip");
if (ereg("Verloren = 4",$online))
{
echo 'Server offline!';
}
else
{
echo 'Server online!';
}
?>
Wenn nicht, dann musst Du den Ping-Befehl anpassen, und natürlich die Auswertung der Rückgabe...
Gruss
chris17
|
17.08.2003, 14:17:34
|
|
Anfänger
|
|
Registriert seit: Aug 2003
Ort: Appenzell AR
Beiträge: 6
|
|
Re: Einen Server anpingen, ob er on ist?!
Zitat:
Original geschrieben von Jupp
Hi zusammen,
kennt jemand von euch einen Weg, einen Server über seine IP anzupingen und damit auszuwerten, ob er on ist, oder nicht (Paket übermittelt oder TimeOut)?
Viiielen Dank im voraus!
Jupp
|
Beispiele für einen Online/Offline-Check wurden ja schon gepostet. Aber unter http://www.sourcecraft.org/downloads/ gibt es ein Script mit ping, traceroute, und nslookup.
Schaus Dir mal an. Damit hast Du ein paar weitere Möglichkeiten offen
Gruss
Martin
|
17.08.2003, 14:34:46
|
Member
|
|
Registriert seit: Apr 2002
Beiträge: 821
|
|
Man kann auch PEAR::Net_Ping [1] benutzen, ist aber sehr verbuggt die Klasse [2]. Dann kann man folgendes benutzen
PHP-Code:
<?php
require 'Net/Ping.php';
$ip = '127.0.0.1';
$ping = Net_Ping::factory();
if(PEAR::isError($ping)) {
echo $ping->getMessage();
} else {
$ping->setArgs(array('count' => 1));
var_dump($ping->ping($ip));
// oder
var_dump($ping->checkhost($ip));
}
?>
[1]: http://pear.php.net/manual/en/packag...g.net-ping.php
[2]: http://bugs.php.net/bug.php?id=24826
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Themen-Optionen |
|
Ansicht |
Linear-Darstellung
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 14:49:22 Uhr.
|