Если Вы желаете мониторить доступность своего сервера тоКак лучше всего проверять, что сервер не отвечает?
Зачем это вообще делать на php? Нет, ну можно конечно, через системный вызов, но не лучше ли сам пинг в кроне прописать?Автор оригинала: seva2
А как ты на пхп ping организуеш ? это должен быть скрипт который через крон запускается
Нет, мы просто ождали, что месье не будет писать глупостей вроде:Видели. И побольше, чем вы =) А вы, наверное, ожидали, что вам тут распишут прекрасную систему мониторинга с аппаратными решениями и дистанционной перезагрузкой?
А что касается мониторинга, то все не так сложно:а можно `ping -c1 www.example.com`
$fp=@fsockopen('mysite.com',80,$errno,$errstr,30);
if ($fp===false)
{
$alert= "Connect error ($errno) $errstr";
}
else
{
stream_set_blocking($fp,false);
fputs ($fp, "GET /whatever.php HTTP/1.0\r\nHost: mysite.com\r\n\r\n");
$alert='';
$start=time();
while (!feof($fp))
{
$ans=fgets($fp,128);
if ($ans===false)
{
if (time()-$start>30)
{
$alert='Reading timeout';
break;
}
}
else
{
$start=time();
if (trim($ans)=='HTTP/1.1 200 OK' || trim($ans)=='HTTP/1.0 200 OK')
{
$alert='NONE';
break;
}
else $alert.=$ans;
}
}
fclose ($fp);
}
if ($alert!='NONE') ...