Si aún no conoces PEAR, y programas aplicaciones PHP , o simplemente tienes curiosidad, en este enlace tienes documentación sobre cómo instalar PEAR en Ubuntu. Aún no he implementado PEAR en ninguno de los servidores que administro. En mi máquina con Ubuntu 9.10 [Linux apermuy-desktop 2.6.31-19-generic #56-Ubuntu SMP Thu Jan 28 01:26:53 UTC 2010 i686 GNU/Linux] he seguido las instrucciones para la instalación de la web oficial. Si tienes experiencia instalando aplicaciones desde el terminal no tendrás demasiados problemas.
El paquete que he utilizado en el script es Net_Ping. En un primer momento y con el ejemplo de la web, el resultado es confuso: "escupe" en un array el resultado de un var_dump, con lo cual os podéis imaginar...Sí he comprobado, por lo menos en este paquete, que a pesar de que los programadores corrigen bugs y añaden nuevas características, el ejemplo de código para describir el uso de Net_Ping es "bastante cutre". He recurrido a esta web para comprender totalmente la utilización de la extensión.
Fichero ping.php :
require_once "Net/Ping.php";
$ping = Net_Ping::factory();
if (PEAR::isError($ping)) {
echo $ping->getMessage();
} else {
$ping->setArgs(array('count' => 1));
$servidores = array(
0=>"www.gnome.org",
1=>"www.debian.org",
2=>"www.gnu.org");
foreach($servidores as $posicion=>$host){
if($ping->checkhost($host)){
echo "El host ".$host." esta levantado
";
}
else{
echo "El host ".$host." esta caido
";
}
}
}
Es evidente que no soy ni programador ni experto en PHP, pero estos días me documentaré más sobre PEAR, un proyecto realmente interesante.