{"id":356,"date":"2011-11-10T10:49:18","date_gmt":"2011-11-10T15:49:18","guid":{"rendered":"http:\/\/www.latindevelopers.com\/ivancp\/?p=356"},"modified":"2011-11-10T10:49:18","modified_gmt":"2011-11-10T15:49:18","slug":"como-hacer-ping-desde-php","status":"publish","type":"post","link":"https:\/\/www.latindevelopers.com\/ivancp\/2011\/11\/como-hacer-ping-desde-php\/","title":{"rendered":"Como hacer ping desde PHP"},"content":{"rendered":"<p><img data-attachment-id=\"357\" data-permalink=\"https:\/\/www.latindevelopers.com\/ivancp\/2011\/11\/como-hacer-ping-desde-php\/php-logo\/\" data-orig-file=\"https:\/\/www.latindevelopers.com\/ivancp\/wp-content\/uploads\/php-logo.jpg\" data-orig-size=\"238,210\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"PHP Logo\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/www.latindevelopers.com\/ivancp\/wp-content\/uploads\/php-logo.jpg\" data-large-file=\"https:\/\/www.latindevelopers.com\/ivancp\/wp-content\/uploads\/php-logo.jpg\" loading=\"lazy\" class=\"alignright size-full wp-image-357\" title=\"PHP Logo\" src=\"http:\/\/www.latindevelopers.com\/ivancp\/wp-content\/uploads\/php-logo.jpg\" alt=\"\" width=\"238\" height=\"210\" \/>Cuando queremos \u00abhacer algo\u00bb con alg\u00fan equipo de nuestra red y \u00e9ste no responde es por que probablemente este apagado\/desconectado\/colgado\/etc, ping es lo primero que ejecutamos para confirmar nuestras sospechas.<\/p>\n<p>Pero, y si hemos preparado un script para \u00abhacer algo\u00bb (como sacar un backup) peri\u00f3dicamente debemos asegurarnos que el equipo esta conectado y encendido antes de meter la pata.<\/p>\n<p>Muchos de los scripts que he desarrollado usan php-cli, me parece mas amigable que bash por que adem\u00e1s puedo leer y escribir en bases de datos y tambi\u00e9n usar ncurses, es una maravilla!<\/p>\n<p>Intentando con varios m\u00e9todos, finalmente tengo algo que es de utilidad para determinar si un host esta \u00abvivo\u00bb mediante un ping desde PHP:<\/p>\n<pre lang=\"php\"><?php\r\nrequire_once \"Net\/Ping.php\";\r\n\r\n$host = \"192.168.1.54\"; \/\/host destino\r\n\r\n$ping = Net_Ping::factory();\r\nif (PEAR::isError($ping))\r\n{\r\n     echo $ping->getMessage();\r\n}\r\nelse\r\n{\r\n    $ping->setArgs(array('count' => 1)); \/\/Envios = 1\r\n    $result = $ping->ping($host);\r\n\r\n    if($result->getReceived() == 1 )  \/\/Si recibimos lo \r\n    {\r\n          echo \"El equipo esta encendido!\";\r\n    }\r\n    else\r\n    {\r\n          echo \"El equipo esta apagado!\";\r\n    }\r\n}\r\n?><\/pre>\n<p>Antes necesitamos tener instalado php-pear y Net_Ping:<\/p>\n<pre lang=\"bash\">\r\nivancp@ubuntu~$ sudo apt-get install php-pear\r\nivancp@ubuntu~$ sudo pear install Net_Ping\r\n<\/pre>\n<p>Espero les sirva!<\/p>\n<div class=\"sharedaddy sd-sharing-enabled\"><div class=\"robots-nocontent sd-block sd-social sd-social-icon-text sd-sharing\"><h3 class=\"sd-title\">Compartelo:<\/h3><div class=\"sd-content\"><ul><li class=\"share-facebook\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"sharing-facebook-356\" class=\"share-facebook sd-button share-icon\" href=\"https:\/\/www.latindevelopers.com\/ivancp\/2011\/11\/como-hacer-ping-desde-php\/?share=facebook\" target=\"_blank\" title=\"Haz clic para compartir en Facebook\"><span>Facebook<\/span><\/a><\/li><li class=\"share-twitter\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"sharing-twitter-356\" class=\"share-twitter sd-button share-icon\" href=\"https:\/\/www.latindevelopers.com\/ivancp\/2011\/11\/como-hacer-ping-desde-php\/?share=twitter\" target=\"_blank\" title=\"Haz clic para compartir en Twitter\"><span>Twitter<\/span><\/a><\/li><li><a href=\"#\" class=\"sharing-anchor sd-button share-more\"><span>M\u00e1s<\/span><\/a><\/li><li class=\"share-end\"><\/li><\/ul><div class=\"sharing-hidden\"><div class=\"inner\" style=\"display: none;\"><ul><li class=\"share-email\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"\" class=\"share-email sd-button share-icon\" href=\"https:\/\/www.latindevelopers.com\/ivancp\/2011\/11\/como-hacer-ping-desde-php\/?share=email\" target=\"_blank\" title=\"Haz clic para enviar por correo electr\u00f3nico a un amigo\"><span>Correo electr\u00f3nico<\/span><\/a><\/li><li class=\"share-print\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"\" class=\"share-print sd-button share-icon\" href=\"https:\/\/www.latindevelopers.com\/ivancp\/2011\/11\/como-hacer-ping-desde-php\/\" target=\"_blank\" title=\"Haz clic para imprimir\"><span>Imprimir<\/span><\/a><\/li><li class=\"share-end\"><\/li><li class=\"share-linkedin\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"sharing-linkedin-356\" class=\"share-linkedin sd-button share-icon\" href=\"https:\/\/www.latindevelopers.com\/ivancp\/2011\/11\/como-hacer-ping-desde-php\/?share=linkedin\" target=\"_blank\" title=\"Haz clic para compartir en LinkedIn\"><span>LinkedIn<\/span><\/a><\/li><li class=\"share-end\"><\/li><\/ul><\/div><\/div><\/div><\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>Cuando queremos \u00abhacer algo\u00bb con alg\u00fan equipo de nuestra red y \u00e9ste no responde es por que probablemente este apagado\/desconectado\/colgado\/etc, ping es lo primero que ejecutamos para confirmar nuestras sospechas. Pero, y si hemos preparado un script para \u00abhacer algo\u00bb &hellip; <a href=\"https:\/\/www.latindevelopers.com\/ivancp\/2011\/11\/como-hacer-ping-desde-php\/\">Sigue leyendo <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n<div class=\"sharedaddy sd-sharing-enabled\"><div class=\"robots-nocontent sd-block sd-social sd-social-icon-text sd-sharing\"><h3 class=\"sd-title\">Compartelo:<\/h3><div class=\"sd-content\"><ul><li class=\"share-facebook\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"sharing-facebook-356\" class=\"share-facebook sd-button share-icon\" href=\"https:\/\/www.latindevelopers.com\/ivancp\/2011\/11\/como-hacer-ping-desde-php\/?share=facebook\" target=\"_blank\" title=\"Haz clic para compartir en Facebook\"><span>Facebook<\/span><\/a><\/li><li class=\"share-twitter\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"sharing-twitter-356\" class=\"share-twitter sd-button share-icon\" href=\"https:\/\/www.latindevelopers.com\/ivancp\/2011\/11\/como-hacer-ping-desde-php\/?share=twitter\" target=\"_blank\" title=\"Haz clic para compartir en Twitter\"><span>Twitter<\/span><\/a><\/li><li><a href=\"#\" class=\"sharing-anchor sd-button share-more\"><span>M\u00e1s<\/span><\/a><\/li><li class=\"share-end\"><\/li><\/ul><div class=\"sharing-hidden\"><div class=\"inner\" style=\"display: none;\"><ul><li class=\"share-email\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"\" class=\"share-email sd-button share-icon\" href=\"https:\/\/www.latindevelopers.com\/ivancp\/2011\/11\/como-hacer-ping-desde-php\/?share=email\" target=\"_blank\" title=\"Haz clic para enviar por correo electr\u00f3nico a un amigo\"><span>Correo electr\u00f3nico<\/span><\/a><\/li><li class=\"share-print\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"\" class=\"share-print sd-button share-icon\" href=\"https:\/\/www.latindevelopers.com\/ivancp\/2011\/11\/como-hacer-ping-desde-php\/\" target=\"_blank\" title=\"Haz clic para imprimir\"><span>Imprimir<\/span><\/a><\/li><li class=\"share-end\"><\/li><li class=\"share-linkedin\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"sharing-linkedin-356\" class=\"share-linkedin sd-button share-icon\" href=\"https:\/\/www.latindevelopers.com\/ivancp\/2011\/11\/como-hacer-ping-desde-php\/?share=linkedin\" target=\"_blank\" title=\"Haz clic para compartir en LinkedIn\"><span>LinkedIn<\/span><\/a><\/li><li class=\"share-end\"><\/li><\/ul><\/div><\/div><\/div><\/div><\/div>","protected":false},"author":1,"featured_media":357,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"spay_email":""},"categories":[10,22],"tags":[17,18,28],"jetpack_featured_media_url":"https:\/\/www.latindevelopers.com\/ivancp\/wp-content\/uploads\/php-logo.jpg","jetpack_shortlink":"https:\/\/wp.me\/p1tEO5-5K","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.latindevelopers.com\/ivancp\/wp-json\/wp\/v2\/posts\/356"}],"collection":[{"href":"https:\/\/www.latindevelopers.com\/ivancp\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.latindevelopers.com\/ivancp\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.latindevelopers.com\/ivancp\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.latindevelopers.com\/ivancp\/wp-json\/wp\/v2\/comments?post=356"}],"version-history":[{"count":2,"href":"https:\/\/www.latindevelopers.com\/ivancp\/wp-json\/wp\/v2\/posts\/356\/revisions"}],"predecessor-version":[{"id":359,"href":"https:\/\/www.latindevelopers.com\/ivancp\/wp-json\/wp\/v2\/posts\/356\/revisions\/359"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.latindevelopers.com\/ivancp\/wp-json\/wp\/v2\/media\/357"}],"wp:attachment":[{"href":"https:\/\/www.latindevelopers.com\/ivancp\/wp-json\/wp\/v2\/media?parent=356"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.latindevelopers.com\/ivancp\/wp-json\/wp\/v2\/categories?post=356"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.latindevelopers.com\/ivancp\/wp-json\/wp\/v2\/tags?post=356"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}