Necesito saber si un servidor esta online, si está offline, o si simplemente no da respuesta por el motivo que sea.
Os pongo en contexto, todo esto es para la implementación de una cola de mensajes, cuando los mensajes no se envieen, necesito guardarlos, comprobar el estado del servidor y volver a mandarlos.
El trozo de codigo que tengo programado para ver si el server esta on u off es el siguiente
Código PHP:
public static function checkServer (){
$domain = parent::$BMUrl;
$starttime = microtime(true);
$file = fsockopen ($domain, 80, $errno, $errstr, 10);
$stoptime = microtime(true);
$status = 0;
if (!$file)
$status = -1; // Site is down
else {
fclose($file);
$status = ($stoptime - $starttime) * 1000;
$status = floor($status);
}
return $status;
}