fsockopen을 이용한 기본적인 서버체크 사용법은 아래와 같은데 이를 약간 수정하여 서버가 온라인일때 server_up.png 를
출력하고 서버와 접속이 안될경우에 server_down.png 의 이미지를 출력해보겠습니다.
기본적인 접속코드, 서버와 접속을 한후 상단에 서버정보를 띄우며, 아래에 홈페이지를 같이 띄움, 체크시간은 30초
<?
$fp = fsockopen ("www.php.net", 80, $errno, $errstr, 30);
if (!$fp) {
echo "$errstr ($errno)<br>\n";
} else {
fputs ($fp, "GET / HTTP/1.0\r\n\r\n");
while (!feof($fp)) {
echo fgets ($fp,128);
}
fclose ($fp);
}
?>
아래는 수정한 부분입니다. 서버와 2초간 응답이 없으면 server_down.png 출력, 정상이면 server_up.png 출력
이렇게 해놓으면, php 계정에서 다른 서버들의 상태를 체크를 할수가 있습니다.
제가 이렇게 사용중입니다. 체크할 서버가 많아서..^^
<?
$fp = fsockopen ("www.php.net", 80, $errno, $errstr, 2);
if (!$fp) {
echo "<img src=img/server_down.png>";
} else {
echo "<img src=img/server_up.png>";
}
fclose ($fp);
?>
관련글 보기
2007/10/11 - [윈도우즈] - php 웹 탐색기 - PHP Navigator 3.2