Quand je tente de lancer le script, j'ai juste command not found qui s'affiche, pourquoi ?
PHP CLI n'est pas installé, l'exécutable php n'est pas dans le PATH. Vérifiez que PHP CLI est installé sur votre système.
Pourquoi dans mon cas la latence est-elle toujours égale au timeout ?
C'est sans doute que l'IP ne répond pas sur le port choisi (pour la méthode fsock), ou ne répond pas au ping, par exemple si un routeur ou un firewall bloque le trafic ICMP.
Il est alors judicieux de changer de méthode et/ou de port.
Pourquoi la méthode icmp nécessite de lancer le script en tant qu'utilisateur root ?
Seul l'utilisateur root peut ouvrir une raw socket qui est utilisée pour le protocole ICMP. Puisque le script n'a pas le sticky bit, il doit donc être exécuté avec l'utilisateur root.