Como hacer ping desde PHP

Cuando queremos «hacer algo» con algún equipo de nuestra red y éste no responde es por que probablemente este apagado/desconectado/colgado/etc, ping es lo primero que ejecutamos para confirmar nuestras sospechas.

Pero, y si hemos preparado un script para «hacer algo» (como sacar un backup) periódicamente debemos asegurarnos que el equipo esta conectado y encendido antes de meter la pata.

Muchos de los scripts que he desarrollado usan php-cli, me parece mas amigable que bash por que además puedo leer y escribir en bases de datos y también usar ncurses, es una maravilla!

Intentando con varios métodos, finalmente tengo algo que es de utilidad para determinar si un host esta «vivo» mediante un ping desde PHP:

getMessage();
}
else
{
    $ping->setArgs(array('count' => 1)); //Envios = 1
    $result = $ping->ping($host);

    if($result->getReceived() == 1 )  //Si recibimos lo 
    {
          echo "El equipo esta encendido!";
    }
    else
    {
          echo "El equipo esta apagado!";
    }
}
?>

Antes necesitamos tener instalado php-pear y Net_Ping:

ivancp@ubuntu~$ sudo apt-get install php-pear
ivancp@ubuntu~$ sudo pear install Net_Ping

Espero les sirva!