Ping site et le résultat de retour en PHP
J'aimerais créer un petit SI la procédure qui permet de vérifier si Twitter est disponible (contrairement à maintenant, par exemple), et renvoie true ou false.
De l'aide 🙂
- au lieu de de ping, je ne peux pas vous faire une requête http?
Vous devez vous connecter pour publier un commentaire.
Cet été saisie par ce post sur la façon de vérifier si une URL existe. Parce que Twitter devrait fournir un message d'erreur ci-dessus 300 quand il est en cours de maintenance, ou une erreur 404, cela devrait fonctionner parfaitement.
En voici un:
http://www.planet-source-code.com/vb/scripts/ShowCode.asp?lngWId=8&txtCodeId=1786
L'autre:
À l'aide de shell_exec:
ping -c1 host
ou quelque chose sur Linux. Plaineping host
ne va pas y retourner.if ( 0 != ( $_result = `ping -q -c1 google.com >/dev/null 2>&1 ; echo $?` ) ) { echo 'Fail.'; }
Une autre option (si vous avez besoin/voulez-vous de ping au lieu d'envoyer une requête HTTP) est le Ping classe pour PHP. Je l'ai écrit pour cet effet, et il vous permet d'utiliser une des trois méthodes prises en charge pour envoyer une requête ping au serveur (certains serveurs/environnements de soutien de l'une des trois méthodes).
Exemple d'utilisation:
ping
est disponible sur presque tous les OS. Donc, vous pourriez faire un appel système et de récupérer le résultat.Avec la fonction suivante vous venez d'envoyer la pure paquets ICMP à l'aide de socket_create. J'ai eu le code suivant à partir de une note de l'utilisateur là. N. B. Vous devez exécuter la commande suivante comme racine.
Bien que vous ne pouvez pas mettre cela dans une page web standard, vous pouvez exécuter une tâche cron et de remplir une base de données avec les résultats.
Donc c'est mieux si vous avez besoin de surveiller un site.
c'est le code php que j'ai utilisé, la réponse est généralement comme ceci:
J'ai donc utilisé le code comme ceci:
ping: icmp open socket: Permission denied
. Pour résoudre ce problème, SELinux doit être Permissif