ciao a tutti,
c'è una funzione in php che mi permette d'interrogare un host?
mi serve per vedere se è raggiungibile.
Grazie.
ciao a tutti,
c'è una funzione in php che mi permette d'interrogare un host?
mi serve per vedere se è raggiungibile.
Grazie.
Ti suggerisco di iniziare leggendo il manuale ufficiale:
http://www.php.net/fsockopen
http://www.php.net/curl
In realtà mi serve sapere se un indirizzo risponde...
in poche parole simulare un ping in php.
grazie
riesumo questo post perchè il mio problema è simile...
sto scrivendo un'applicazione e mi interesserebbe sapere se il server su cui gira è collegato con internet, perchè l'applicazione è accessibile anche dalla intranet e se uno si collega dalla intranet ma questa non è collegata a internet devo disabilitare alcune funzionalità...
ho provato così:
provato in locale su xampp, se sono collegato a internet mi restituisce ok, ma se mi disconnetto da internet mi stampa questi warning seguiti dalla scritta DOWN:codice:$fp = fsockopen("www.google.com", 80, $errno, $errstr, 30); if ($fp) echo 'OK'; else echo 'DOWN';
Warning: fsockopen() [function.fsockopen]: php_network_getaddresses: getaddrinfo failed: Host sconosciuto. in C:\xampp\htdocs\test\header.php on line 24
Warning: fsockopen() [function.fsockopen]: unable to connect to www.google.com:80 (php_network_getaddresses: getaddrinfo failed: Host sconosciuto. ) in C:\xampp\htdocs\test\header.php on line 24
DOWN
è possibile rimuovere questi warning? se si come?
sebbene questa soluzione sia valida, il timeout di 30 secondi è troppo elevato (anche se in realtà quello standard è di 2 minuti): se il sistema risponde, solitamente, lo fa nell'arco di qualche secondo (direi che 10 bastano e avanzano)
VM su SSD da 5$! https://www.digitalocean.com/?refcode=f6925c7f0ddb
ok, però come elimino i warning?
metti la @ davanti a fsockopen
VM su SSD da 5$! https://www.digitalocean.com/?refcode=f6925c7f0ddb
ok, ho messo la @ davanti a fsockopen ed abbassato il tempo di timeout... però non vorrei fare questo controllo ad ogni caricamento della pagina, perchè se non c'è connessione attiva sul server, ad ogni caricamento della pagina dovrò aspettare lo scadere del timeout per vederla caricata (con le funzionalità disabilitate)... come potrei ovviare? io avevo pensato di fare questo controllo solo al primo caricamento della pagina e salvare il risultato in una variabile di sessione in modo da attendere il timeout una sola volta... che ne pensi?
va bene una variabile di sessione nella quale salvi però anche l'ultimo orario del controllo cosi da poterlo effettuare ogni N minuti
VM su SSD da 5$! https://www.digitalocean.com/?refcode=f6925c7f0ddb