Bonsoir à tous je cherche depuis un bon moment un moyen de testé l'état d'un serveur distant, un simple ping suffirai... mais la complexité c'est de le faire en php...
J'ai réussi à obtenir une parti de code mais le problème c'est que ca me dit toujours OK, même si le serveur n'existe pas -_-...
Pourriez vous m'aider à améliorer mon problème ou même me donné une autre solution si je suis dans la mauvaise direction ? ^^
Voici mon code :
Je vous remercie d'avance, CordialementCode:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 <?php echo ("Etat des serveurs <br>"); $serveur1="195.27.0.130"; $serveur2="www.adressebidon.com"; $ping=exec ('/bin/ping -c2 -q -w2 '.$serveur1.' | grep transmitted | cut -f3 -d"," | cut -f1 -d"," | cut -f1 -d"%"'); if ($ping==0) echo ("Serveur $serveur1 OK :)<br><br>"); else echo ("Serveur $serveur1 HS :(<br><br>"); $ping=exec ('/bin/ping -c2 -q -w2 '.$serveur2.' | grep transmitted | cut -f3 -d"," | cut -f1 -d"," | cut -f1 -d"%"'); if ($ping==0) echo ("Serveur $serveur2 OK :)<br><br>"); else echo ("Serveur $serveur2 HS :(<br><br>"); ?>
Ps: j'avais aussi essayer des codes que j'ai trouver mais ça ne fonctionne pas comme je le désire :
ou encore :Code:
1
2
3
4
5
6
7
8
9
10 <?php $fp = fsockopen("195.27.0.130", 80, &$errno, &$errstr, 30); if(!$fp) { print"HS"; } else { print"OK"; } ?>
Code:
1
2
3
4
5
6
7
8
9 <?php $ping = "ping -a -n 1"; $ip = "195.27.0.130"; $result = ""; system ($ping $ip > $result); ?>