Tester un serveur avant de s'y connecter

ifr38 -  
Pitet Messages postés 2845 Statut Membre -
Bonjour,

Je vous sollicite afin de savoir si il était possible, en php, de tester si un serveur est actif ou non?
Je m'explique un peu plus : actuellement un serveur est actif et un autre est passif (celui devient actif uniquement quand le premier serveur tombe ne panne). Je voudrais pouvoir les tester avant et pouvoir me connecter uniquement au serveur qui sera actif au moment de l'exécution de mon script.

Merci de votre aide :)
A+

3 réponses

  1. loupix57 Messages postés 316 Date d'inscription   Statut Membre Dernière intervention   14
     
    Salut !
    Tu peut toujours tester de lire un fichier dessus en utilisant l'appli CURL de PHP ;-)
    0
    1. ifr38
       
      salut,
      je ne connais pas vraiment curl, je vais regarder comment ca marche, merci ;)
      0
  2. Fallentree Messages postés 2445 Statut Membre 210
     
     $file="http://cite.com/filetest.thml"
            if ($rHandle=@fopen($file, "r")) {
                $data = file_get_contents($file); .....
    0
    1. loupix57 Messages postés 316 Date d'inscription   Statut Membre Dernière intervention   14
       
      oui aussi ! :-)
      0
    2. ifr38
       
      merci Fallentree pour ton aide :)
      je ne comprends pas tout dans ton code, désolé je débute :$
      0
    3. Fallentree Messages postés 2445 Statut Membre 210
       
      la notion de serveur actif me dépasse un peu ...
      je me suis dis que la résolution la plus simple a ton problème de serveur "online" consiste a voir si celui-ci est "ouvert" en supposant qu'il n'est pas le même "hostname"
      du coups je pensais que le simple test de l'existence d'un fichier suffirait.
      d'où:
      if ($rHandle=@fopen($file, "r"))


      Pour être plus précis dans l'énoncé de ta question : le serveur a t il la même résolution ?

      sinon regarde http://php.net/manual/fr/reserved.variables.server.php
      parmi l'ensemble de variable peut être que DOCUMENT_ROOT suffirait à ton bonheur.
      0
  3. Pitet Messages postés 2845 Statut Membre 530
     
    Salut,

    Une autre solution :
    $fp = fsockopen("www.example.com", 80, $errno, $errstr, 30);
    if (!$fp) {
        echo 'Serveur non actif<br />';
        echo "$errstr ($errno)<br />\n";
    }
    

    Bonne journée
    0