Apache ダウン チェッカー スクリプト (リモート サーバー) がありますが、httpd にタイムアウトの問題などがあると機能しないと思います。
たとえば、サイトはオフラインでしたが、サーバーはオンライン ステータスでした。タイムアウトなどを入れるべきですか?どのように??
<?php
function GetServerStatus($site, $port)
{
$status = array("OFFLINE", "ONLINE");
$fp = @fsockopen($site, $port, $errno, $errstr, 2);
if (!$fp) {
return $status[0];
} else
{ return $status[1];}
}
?>
<?php
$status = GetServerStatus('xxx.xxx.xxx.xxx',80);
if($status == 'OFFLINE') {
$message = "Server is down now!!";
}
?>