Introdução
Verificar o status de um site pode ser muito útil para monitorar se um serviço está online ou offline. Neste post, vamos mostrar como usar PHP para verificar o status de um site específico utilizando a biblioteca cURL
. Em seguida, vamos configurar uma atualização automática com AJAX e jQuery para que a verificação aconteça em intervalos regulares, como a cada 5 minutos.
Parte 1: Verificando o Status de um Site com PHP
Vamos começar com um exemplo básico de como usar cURL
em PHP para verificar o status HTTP de um site.
Código PHP para Verificar o Status de um Site
<?php
// URL do site que você deseja verificar
$url = "https://www.exemplo.com";
// Inicializa uma sessão cURL
$ch = curl_init($url);
// Configura as opções cURL
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // Retorna o conteúdo como string
curl_setopt($ch, CURLOPT_HEADER, true); // Inclui os cabeçalhos na resposta
curl_setopt($ch, CURLOPT_NOBODY, true); // Não precisamos do corpo da resposta
// Executa a requisição
curl_exec($ch);
// Obtém o código de status HTTP
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
// Fecha a sessão cURL
curl_close($ch);
// Verifica se o código de status é 200
if ($httpCode === 200) {
echo "O site está acessível e retornou 200 OK.";
} else {
echo "O site retornou o código: $httpCode.";
}
?>
Explicação do Código
- Inicialização: Usamos
curl_init()
para iniciar a sessão cURL e passamos a URL do site que desejamos verificar. - Configurações:
CURLOPT_RETURNTRANSFER
: Retorna a resposta como string em vez de exibi-la diretamente.CURLOPT_HEADER
: Inclui os cabeçalhos na resposta para capturarmos o código de status HTTP.CURLOPT_NOBODY
: Define paratrue
porque não precisamos do corpo da resposta, apenas o cabeçalho.
- Execução:
curl_exec($ch)
executa a requisição. - Código de Status: Usamos
curl_getinfo()
para pegar o código de status HTTP da resposta, que nos indica se o site está online (200 OK) ou se há algum erro (por exemplo, 404 ou 500). - Fechamento:
curl_close()
encerra a sessão cURL. - Verificação: Comparamos o código de status com
200
para determinar se o site está acessível.
Parte 2: Automatizando com AJAX e jQuery
Agora que temos nosso código PHP, podemos automatizar essa verificação usando AJAX para que a página se atualize periodicamente sem precisar de um reload completo.
Passo 1: Criando o Arquivo PHP (verificar_status.php
)
Coloque o código PHP acima em um arquivo chamado verificar_status.php
.
Passo 2: Criando a Página HTML com AJAX
Aqui está o código HTML e JavaScript para fazer a requisição AJAX a cada 5 minutos:
<!DOCTYPE html>
<html lang="pt-BR">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Monitoramento de Status do Site</title>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
</head>
<body>
<h1>Verificação de Status do Site</h1>
<div id="status">Carregando status...</div>
<script>
function verificarStatus() {
$.ajax({
url: 'verificar_status.php', // O arquivo PHP que faz a verificação
method: 'GET',
success: function(response) {
$('#status').html(response); // Exibe a resposta no div
},
error: function() {
$('#status').html('Erro ao verificar o status do site.');
}
});
}
// Executa a função ao carregar a página
verificarStatus();
// Define um intervalo de 5 minutos (300000 milissegundos) para recarregar
setInterval(verificarStatus, 300000);
</script>
</body>
</html>
Explicação do Código
- HTML Básico: Criamos uma estrutura simples com um
div
de idstatus
onde exibiremos o resultado da verificação. - jQuery: Carregamos a biblioteca jQuery para facilitar a requisição AJAX.
- Função
verificarStatus()
:
- A função faz uma chamada AJAX para o arquivo
verificar_status.php
. - Se a requisição for bem-sucedida, o conteúdo do
div
é atualizado com a resposta do PHP. - Se houver erro, uma mensagem de erro será exibida.
- Atualização Automática:
- Chamamos a função
verificarStatus()
ao carregar a página para exibir o status imediatamente. - Usamos
setInterval(verificarStatus, 300000)
para executar a função a cada 5 minutos (300.000 milissegundos), atualizando o status automaticamente.
Conclusão
Este post mostrou como usar PHP e cURL
para verificar o status de um site e, em seguida, como automatizar essa verificação com AJAX usando jQuery. Essa abordagem é útil para monitorar a disponibilidade de serviços web de forma contínua e eficiente.
Agora você tem uma solução completa para monitoramento de status que pode ser adaptada e integrada facilmente ao seu sistema ou dashboard!