Скрипт пинга, серверов.

Тема в разделе "Как сделать...", создана пользователем TecT, 19 сен 2012.

  1. TecT

    TecT Пользователь для ТесТа

    Регистр.:
    25 фев 2009
    Сообщения:
    449
    Симпатии:
    44
    Здравствуйте. Интересует скрипт пинга определённого сервера. При этом если сервер офлайн то чтоб была кнопка рестарт. Как сделать это на php кто то подскажет?
     
  2. PapaJoe

    PapaJoe

    Регистр.:
    4 авг 2008
    Сообщения:
    620
    Симпатии:
    311
    тема не в разделе PHP

    а по сути, можно запускать команду ping и парсить вывод или же при помощи fsockopen пытаться подключиться к серверу на определенный порт с таймаутом 5-10 сек., если нет подключения - нет связи
     
  3. HatoL

    HatoL

    Регистр.:
    5 фев 2008
    Сообщения:
    206
    Симпатии:
    36
  4. Daniella

    Daniella Не подарок, сюрпрайз)

    Moderator
    Регистр.:
    1 июн 2009
    Сообщения:
    299
    Симпатии:
    270
    А как Вы представляете себе работу кнопки "рестарт", если удалённый сервер не отвечает? Вам в любом случае уже либо IP-KVM нужен, либо в ДЦ звонить
     
  5. latteo

    latteo Эффективное использование PHP, MySQL

    Moderator
    Регистр.:
    28 фев 2008
    Сообщения:
    1.404
    Симпатии:
    1.185
    Если сервер, который софт (например апач, CS) не отвечает, то это не значит, что сервер, который виртуальный или физический (хостинг, vps, vds) тоже лежит. Не говоря уже о панелях управления (для хостинг, vps), например isp-manager, которые тоже позволят перезагрузить сервер. Или может всё же имеется ввиду обычная команда ping?

    А вопрос ТС на обычный язык можно перевести как: "нарисуйте мне план здания". И на такой общий вопрос он общий ответ и получил. А если уважаемый ТС хочет более конкретный ответ, то пусть расшифрует какие сервера надо пинговать (может они на порту каком особом) и каким образом он их перезагружает.

    Сообщения, следующие за сим, без подробных и четких решений или подробных и четких вопросов, могут навлечь недоброе на их авторов...
     
  6. Extalionez

    Extalionez Клоун

    Заблокирован
    Регистр.:
    21 авг 2008
    Сообщения:
    368
    Симпатии:
    185
    Профессионалы, а ведёте себя как дети малые. Автору похоже просто надо проверять доступен ли сервер или нет.
    PHP:
    <?php
          
    if (isServerAvailible('http://192.168.1.1/'))
          {
                  echo 
    "Сервер в порядке.Кнопку не выводим";
          }
          else
          {
                  echo 
    "Сервер не доступен. Выводим кнопку.";
                  
    //то есть тут пишем код с кнопкой(какой конкретно я даже примерно не представляю)
          
    }
          
    //возвращает true, если домен доступен, false если нет
          
    function  isServerAvailible ($domain)
          {
                  
    //проверка на валидность урла(РАБОТАЕТ НА PHP 5 >= 5.2.0)
                  
    if(!filter_var($domainFILTER_VALIDATE_URL))
                  {
                          return 
    false;
                  }
                  
    //инициализация curl
                  
    $curlInit curl_init($domain);
                  
    curl_setopt($curlInit,CURLOPT_CONNECTTIMEOUT,10);//цифра 10 означает сколько времени(в секундах) ждать ответа от сервера
                  
    curl_setopt($curlInit,CURLOPT_HEADER,true);
                  
    curl_setopt($curlInit,CURLOPT_NOBODY,true);
                  
    curl_setopt($curlInit,CURLOPT_RETURNTRANSFER,true);
                  
    //получение ответа
                  
    $response curl_exec($curlInit);
                  
    curl_close($curlInit);
                  if (
    $response) return true;
                  return 
    false;
          }
    ?>
     
    Cuker и TecT нравится это.