[PHP] faire un ping d'un serveur distant

faire un ping d'un serveur distant [PHP] - PHP - Programmation

Marsh Posté le 15-05-2006 à 17:53:03    

Salut, j'aimerai faire un ping d'un serveur distant, si serveur UP retourne 1 si DOWN 0. C'est possible ça en PHP, sachant qu'il n'y à aucune appli web lancée donc pas de ports. Merci!

Reply

Marsh Posté le 15-05-2006 à 17:53:03   

Reply

Marsh Posté le 16-05-2006 à 09:07:07    

Le plus simple serait de le faire avec une commande shell, à l'aide de la fonction shell_exec('ping -c1 -w3 serveur.com').

Reply

Marsh Posté le 16-05-2006 à 09:12:13    

Tu peux aussi essayer d'ouvrir un socket... regarde du coté de la fonction fsockopen().


---------------
♈ ♋ ♌ ♍ ♎ ♏ - Agora Fidelio | Galerie d'art Toulousaine
Reply

Marsh Posté le 16-05-2006 à 13:08:30    

mais fsock ne fonctionne pas si pas de ports ouvrables!
De plus avec shell, la commande ping sera toujours executée, elle n'everra donc aucune erreur meme si le serveur est injoignable!

Reply

Marsh Posté le 16-05-2006 à 13:22:04    

j_lecruel a écrit :

Tu peux aussi essayer d'ouvrir un socket... regarde du coté de la fonction fsockopen().


+1 d'ailleurs une recherche rapide dans google et tu tombes vite sur un tut bien fait : http://www.planet-source-code.com/ [...] 6&lngWId=8
 
Par contre

bensti a écrit :

il n'y à aucune appli web lancée donc pas de ports.


[:pingouino]  

bensti a écrit :

mais fsock ne fonctionne pas si pas de ports ouvrables!


[:pingouino] [:pingouino]  
Tu es en train de dire que tu as une machine sur un reseau avec tous les ports fermés?  
Es-tu bien sur de ce que tu dis?

Reply

Marsh Posté le 16-05-2006 à 15:21:39    

bah par exemple. un ping de 213.228.10.67 ne donne rien avec fsockopen. Mais avec un ping normal ça fonctionne.

Reply

Marsh Posté le 01-06-2006 à 10:02:39    

J'ai exactement le même probleme. Autant avec mon script PHP qui utilise la fonction fsockopen() , je peut pinger des serveurs avec port SSH d'ouvert dessus par exemple, mais je suis incapable de joindre les machines des utilisateurs. J'ai essayé un bon nombre de port pourtant.
 
N'y a t'il pas une méthode avec system() ?

Reply

Marsh Posté le 01-06-2006 à 18:03:48    

Je  ne voi pas ou é le probleme avec la commande exec puisque  tu récupere l e résultat de la commande ds une variable String. Une fois le ping éxécuté, tu parse la réponse de la commande, si tu trouve echec tu retourne 0 , et 1 sinon .

Reply

Marsh Posté le 02-06-2006 à 07:14:21    

La commande ping renvoie un code d'erreur 0 quand réussi, !=0 quand échec. J'ai donné plus haut un exemple avec shell_exec, qui peut être adapté à system() ou exec().

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed