Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    Controllare stato servizi web server (MySQL - HTTP)

    Ciao, ho un problema, vorrei controllare lo stato (se DOWN o UP) di alcuni servizi di un URL, quindi ad esempio avendo l'indirizzo www.sito.it io vorrei sapere se il sito è down o up, oppure anche controllare lo stato del servizio MySQL.
    Per controllare lo status di un sito non sermpre funziona il PING (uso socket - 'ICMP'), inoltre controllare con soluzioni tramite i classici fopen o fsocket mi da raggiungibile anche siti inesistenti, per intenderci il classico e semplice:
    Codice PHP:
    $fp fsockopen ("www.php.net"80$errno$errstr30);
    if(
    $fp)
     echo 
    'ok';
    else
     echo 
    'ko';
    //Non funge, mi da come raggiungibile anche siti inesistenti :( 
    come posso ovviare? che soluzioni adottare??
    MiServe di Santino Bivacqua
    PHP/Ruby/Node.js Developer
    www.miserve.com

  2. #2
    Per prima cosa puoi verificare la risoluzione del nome.
    Poi, che cosa intendi per "mi da raggiungibile anche siti inesistenti"?
    Inoltre dovresti provare ad eseguire una richiesta HTTP completa, non solo il tentativo di connessione. Ad esempio perchè il web server potrebbe accetttare le richieste ma non essere in grado di servirle.

  3. #3
    Originariamente inviato da filippo.toso
    Per prima cosa puoi verificare la risoluzione del nome.
    Poi, che cosa intendi per "mi da raggiungibile anche siti inesistenti"?
    Inoltre dovresti provare ad eseguire una richiesta HTTP completa, non solo il tentativo di connessione. Ad esempio perchè il web server potrebbe accetttare le richieste ma non essere in grado di servirle.
    In pratica mi da ok anche per
    Codice PHP:
    $fp fsockopen ("www.ggggolllleeee.it"80$errno$errstr30);
    if(
    $fp)
    echo 
    'ok';
    else
    echo 
    'ko'
    Provato su diverse macchine
    MiServe di Santino Bivacqua
    PHP/Ruby/Node.js Developer
    www.miserve.com

  4. #4
    Che cosa ti restituisce questo codice?

    Codice PHP:
    <pre>
    <?php 
    error_reporting
    (E_ALL);
    ini_set('display_errors'1);
    $host 'www.ggggolllleeee.it';
    var_dump(gethostbyname($host));
    $fp fsockopen ($host80$errno$errstr30);
    var_dump($fp);
    ?>
    </pre>

  5. #5
    Originariamente inviato da filippo.toso
    Che cosa ti restituisce questo codice?

    Codice PHP:
    <pre>
    <?php 
    error_reporting
    (E_ALL);
    ini_set('display_errors'1);
    $host 'www.ggggolllleeee.it';
    var_dump(gethostbyname($host));
    $fp fsockopen ($host80$errno$errstr30);
    var_dump($fp);
    ?>
    </pre>
    Mi restituisce questo:
    string(12) "212.48.8.140"
    resource(2) of type (stream)
    MiServe di Santino Bivacqua
    PHP/Ruby/Node.js Developer
    www.miserve.com

  6. #6
    Quello di prima è sul server locale (WAMP), mentre sul server in produzione (LAMP) ho questo:
    Codice PHP:
    string(13"67.215.65.132"
    resource(2of type (stream
    MiServe di Santino Bivacqua
    PHP/Ruby/Node.js Developer
    www.miserve.com

  7. #7
    67.215.65.132 è un IP appartenente ad OPENDNS.

    IMHO è un "problema" di risoluzione dei nomi. Se il server DNS a cui ti appoggi esegue una risoluzione sbagliata (es. tenta di mandarti sulla sua pagina di "ricerca" invece che restituire un errore di risoluzione), non puoi farci nulla. Prova ad utilizzare un server DNS più affidabile che restituisca errore quando il dominio non esiste.

  8. #8
    Originariamente inviato da filippo.toso
    67.215.65.132 è un IP appartenente ad OPENDNS.

    IMHO è un "problema" di risoluzione dei nomi. Se il server DNS a cui ti appoggi esegue una risoluzione sbagliata (es. tenta di mandarti sulla sua pagina di "ricerca" invece che restituire un errore di risoluzione), non puoi farci nulla. Prova ad utilizzare un server DNS più affidabile che restituisca errore quando il dominio non esiste.
    Ma questo accade sul server che si trova in un posto, mentre il primo me lo restituisce sul mio pc??
    Quindi due DNS diversi.
    Come mai questo accade?
    L'IP che mi da sul mio pc non porta a nulla, mentre il secondo IP (openDNS) è quello che mi restituisce il server.
    Esistono altri metodi per controllare se una pagina è raggiungibile??
    Ho provato varie soluzioni (CURL - PING - socket) ma tutti con problemi, il ping poi non funziona su tutti i server, puo' essere bloccato a priori....
    Come si fa in questi casi?
    MiServe di Santino Bivacqua
    PHP/Ruby/Node.js Developer
    www.miserve.com

  9. #9
    Originariamente inviato da sanbiv
    Ma questo accade sul server che si trova in un posto, mentre il primo me lo restituisce sul mio pc??
    Quindi due DNS diversi.
    Come mai questo accade?
    Come già scritto, dipende dai server DNS che usi. Sulle mie macchine il dominio NON viene risolto e la connessione fallisce.

  10. #10
    Originariamente inviato da filippo.toso
    Come già scritto, dipende dai server DNS che usi. Sulle mie macchine il dominio NON viene risolto e la connessione fallisce.
    Quindi sul server online non posso farci nulla, perche' dipende da chi offre il servizio hosting

    Però cosa strana accade se provo a leggerne il contenuto, mi va in timeout, non capisco perche'?
    Se la connessione avviene perche' leggendo mi da il timeout?
    Allora che senso ha controllare lo stato della connessione?
    Possibile si tratti di un bug?
    MiServe di Santino Bivacqua
    PHP/Ruby/Node.js Developer
    www.miserve.com

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.