Como fazer ping com PHP

Escrito por steve mcdonnell Google | Traduzido por josé fabián
  • Compartilhar
  • Tweetar
  • Compartilhar
  • Pin
  • E-mail
Como fazer ping com PHP
Há várias formas de testar a conexão a um servidor em PHP (Comstock/Comstock/Getty Images)

Uma forma de saber se um servidor está disponível é fazer um "ping" ao mesmo. Quando você faz isso, envia pacotes de dados, espera uma resposta e mede o tempo entre a transmissão e a recepção. Há uma função incluída em PHP que permite fazer um "ping" a um servidor de bancos de dados MySQL só depois de estabelecer uma conexão. Para outro servidor, você deverá usar a função "exec" para sair para a linha de comandos ou usar a classe "Net_Ping" do repositório de extensões e aplicativos de PHP (PEAR).

Outras pessoas estão lendo

Instruções

    Fazer ping a um servidor MySQL

  1. 1

    Crie um novo arquivo PHP usando o Bloco de Notas ou outro editor de texto. Abra uma conexão em um servidor de bancos de dados MySQL. Por exemplo, digite:

    <?php $dbc = mysql_connect_db("localhost", "username", "password");

  2. 2

    Use a função "mysql_ping" para verificar que a conexão ao servidor de bancos de dados é ainda válida. Por exemplo, digite:

    $ping_result = mysql_ping($dbc); if ($ping_result) echo "Conexão válida!"; else echo "Conexão inválida!"; ?>

  3. 3

    Salve o arquivo e execute-o em um navegador para testar se funciona corretamente.

    Fazer ping usando "exec"

  1. 1

    Crie um novo arquivo PHP em um editor de textos, como o Bloco de Notas. Declare o host ao qual você quer fazer "ping" usando o endereço IP ou um nome de host. Inicialize um "array" para armazenar a saída da função "exec" e um número inteiro para capturar o valor de retorno. Por exemplo, digite:

    <?php $host = "google.com"; $output = array(); $result = null;

  2. 2

    Chame a função "exec" para fazer "ping" ao servidor. Use o parâmetro "-c" e especifique a quantidade de "pings" a realizar. Passe o array e o inteiro para receber a saída do comando e o valor de retorno. Por exemplo, digite:

    exec("ping -c 4 " . $host, $output, $result);

  3. 3

    Compare o valor de retorno com zero para determinar se o "ping" teve sucesso.

    if ($result == 0) echo "Ping realizado com sucesso!"; else echo "PIng realizado sem sucesso!"; ?>

  4. 4

    Salve o arquivo. Execute-o em um navegador e verifique se funciona corretamente.

    Usar a classe "Net_Ping"

  1. 1

    Instale a biblioteca de classes Net_Ping do PEAR. Abra um prompt de comando e digite:

    pear install net_ping-2.4.4

  2. 2

    Crie um arquivo PHP em um editor de texto como o Bloco de Notas e inclua a biblioteca de classes PEAR no começo do script. Por exemplo, digite:

    <?php require("Net/Ping.php");

  3. 3

    Declare o host ao qual você quer fazer "ping" indicando o endereço IP ou o nome de host. Crie um novo objeto "ping". Por exemplo, digite:

    $host = "74.125.45.106"; $ping = Net_Ping::factory();

  4. 4

    Faça "ping" ao host e capture a saída. Por exemplo, digite:

    $result = $ping->ping($host);

  5. 5

    Compare o valor "_transmitted" com o valor "_lost" do array de retorno para determinar se o "ping" teve sucesso. Por exemplo, digite:

    if ($result["_transmitted"]< $result["_loss"]) echo "Ping realizado com sucesso!"; else echo "Ping realizado sem sucesso!"; ?>

  6. 6

    Salve o arquivo e execute-o em um navegador para verificar que funciona corretamente.

Dicas & Advertências

  • Se você não receber uma resposta de um servidor ao "ping", não necessariamente significa que o servidor está caído. Por motivos de segurança, alguns servidores estão configurados para não responder às solicitações de "ping".

Não perca

Filtro:
  • Geral
  • Artigos
  • Slides
  • Vídeos
Mostrar:
  • Mais relevantes
  • Mais lidos
  • Mais recentes

Nenhum artigo disponível

Nenhum slide disponível

Nenhum vídeo disponível