Mailinglisten-Archive |
Tobias Kuhrmann wrote: > > ich habe gelesen das man mit PHP einen Server anpingen kann oder eine IP. > Nun würde ich gerne wissen wie, da einige versuche schon misslungen sind. > Wie lautet der Befehl dafür und wie wende ich ihn genau an? so sieht meine derzeitig loesung dafuer aus. leider konnte ich ping bisher nicht beibringen, nach x sekunden abzubrechen, sodass das hier nicht die endgueltige loesung sein kann. ich verwende das script im cron, um jede minute einen ping auszusenden und den rueckgabewert zu erfassen. #!/usr/local/bin/php -q <? unset($output); unset($exitcode); include("sqlpasswd.inc"); $matched=false; $curtime=time(); $lastmonth = mktime(date("H"),date("i"),date("s"),date("m")-1,date("d"),date("Y")); exec('ping -c1 '.$pinghost, $output, $exitcode); if ($exitcode != 0) { print("Ping failed. \n\n"); while(list(,$line)=each($output)) { print($line."\n"); } } else { while(list(,$line)=each($output)) { if (preg_match("/time\=([0-9\.]+)\sms$/i",$line,$match)) { $matched=$match[1]; } } if (!isset($matched)) { $matched=0; } $mysqlsession=mysql_connect("localhost",$user,$pass); mysql_select_db("stats",$mysqlsession); if (!mysql_query("delete from pingstats where timestamp < ".$lastmonth,$mysqlsession)) { die("Error deleting old records: ".mysql_error($mysqlsession)."\n"); } if (!mysql_query("insert into pingstats set timestamp=".$curtime.",replytime=".$matched,$mysqlsession)) { die("Error inserting new record: ".mysql_error($mysqlsession)."\n"); } mysql_close($mysqlsession); } ?>
php::bar PHP Wiki - Listenarchive