Tempo di Lettura: 1 minuti
Usando la funzione PHP fsockopen() è possibile stabilire una connessione su una porta di un server http per verificare che sia raggiungibile.
Il seguente script tenta di connettersi ad una lista di server web (porta 80). Se entro il periodo di timeout (nell’esempio 30 secondi) non stabilisce una connessione allora restituisce un esito negativo e comunica che il server web non è raggiungibile.
Questo script può ovviamente essere ampliato a piacere, facendo, per esempio, interrogazioni di test anche su altre porte (FTP: 21, SSL: 443, etc.) oppure rendere più gradevole la presentazione con l’inserimento di qualche led luminoso (verde, giallo, rosso a seconda dello stato del server).
error_reporting(E_ALL & ~E_NOTICE);
$timeout=30; // 30 secondi
$server = array (
"11.2.225.31 " => 80,
"11.2.225.32 " => 80,
"11.2.225.180 " => 80,
);
echo "Check Server Availability - Testing Multiple Servers";
// for every server
foreach ($server as $host => $port)
{
$conn = fsockopen($host, $port, $errno, $errstr, $timeout);
// ($conn contiene un valore simile a: Resource id #2)
if ($conn)
{
echo "Il Server $host:$port è online.
";
}
else
{
echo "Il Server $host:$port è offline.
";
}
}
Codice originale: http://www.codedemons.net/tutorials/PHP/Check-Server-Availability?p=2