0

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!!";
}
?>
4

1 に答える 1

0

これがどのように誤って報告される可能性があるのか​​ わかりません。GET / リクエストを送信してタイムアウトすることを検討できます。

成功した場合は、ソケットを閉じることも検討できます。

于 2013-07-01T06:42:02.587 に答える