2011-09-26 4 views
0

J'ai une liste d'IP que je veux ping via PHP (pour me sauver la peine de le faire manuellement via SSH).PHP, ping une liste d'adresses IP?

Je peux exécuter exec, escapeshellarg, system etc sur mon serveur - comment créer un script pour envoyer une requête ping à une IP une fois et retourner le temps de réponse?

Toute aide serait grandement appréciée.

Merci :)

+0

Pourquoi? Je suppose que vous devriez regarder un outil plus approprié pour le travail, par exemple. Nagios. – symcbean

Répondre

3

En utilisant shell_exec, comme ceci:

$output = shell_exec('ping -n 1 127.0.0.1'); 
print $output; 
+0

Lors de l'exécution de ce script, rien ne se passe, bien que d'autres choses telles que "shell_exec ('ls -lart')" fonctionnent. – Latox

+0

Cela fonctionne pour moi via CLI et Apache fonctionnant sous wamp. –

+0

Lorsque je l'exécute via SSH, il répond: "connect: Invalid Argument" mais si j'utilise simplement "ping google.com" cela fonctionne bien. – Latox

0

Si vous souhaitez utiliser le ping shell, utilisez shell_exec pour cela.

Mais ... ici vous pouvez trouver un excellent exemple sur la façon de ping via PHP:

http://birk-jensen.dk/2010/09/php-ping/

peut être facilement adapté Ce script php avec des minuteries pour retourner les temps de réponse.

+0

Je l'ai déjà essayé mais il m'a donné une erreur: "Impossible de créer le socket [1]: opération non autorisée" – Latox

+1

La classe utilise 'SOCK_RAW' pour créer le socket. Il se peut que vous ayez besoin de privilèges root sur votre machine pour exécuter ce code. Si c'est un problème avec votre environnement, retournez à 'shell_exec'. – Bjoern

Questions connexes