Como Verificar os Logs de Erro PHP do Seu Site: Guia Completo
Qualquer site pode passar por alguns problemas e parar de funcionar. Quando isso acontece, ele exibirá uma mensagem de erro para você e os visitantes. Entretanto, mensagens como HTTP 500 não fornecem muitas informações sobre por que o erro ocorreu e o que você deve fazer para corrigi-lo.
É aqui que os logs de erro PHP entram em jogo. Trata-se um arquivo que contém informações sobre erros de PHP que ocorrem em um site.
Encontrar e verificar o registro de erros do PHP log pode ser complicado para um usuário menos experiente em tecnologia. Portanto, este artigo irá orientar você sobre como habilitar o registro de erros PHP, verificar e entender as informações registradas. Vamos lá?
Conteúdo
Como Ativar o Log de Erros PHP
Só é possível verificar o registro de erros PHP se ele estiver habilitado na sua conta de hospedagem de site. Infelizmente, o log de erros em um diretório de site é desativado por padrão na maioria dos casos.
No entanto, antes de ajustar seu código e as configurações da sua hospedagem, dê uma olhada nas informações do PHP para saber se o PHP log está habilitado na sua conta de hospedagem. Aqui estão os passos para fazer isso no hPanel:
- Faça login na sua conta hPanel.
- Vá para a seção Avançado e clique em Informações PHP.
- Pressione CTRL + F para Windows ou Command + F para MacOS para abrir a barra de pesquisa. Digite log_errors para encontrar a linha log_errors . Se o valor for Off, então o registro de erros do PHP está desativado.
Alternativamente, se você não usa o hPanel, crie um arquivo phpinfo.php para acessar as informações do PHP. Use um cliente FTP ou o gerenciador de arquivos do host e execute as seguintes etapas:
- Abra o diretório public_html .
- Crie um arquivo phpinfo.php . Se o arquivo já existir, abra-o e certifique-se de que ele contém o código do Passo 3.
- Abra o arquivo e insira a seguinte linha:
<?php
phpinfo();
?>
- Salve e feche o arquivo.
- Vá para seudominio.com.br/phpinfo.php, substituindo seudominio pelo nome de domínio real. Ele mostrará os detalhes da configuração do PHP, assim:
- Pressione CTRL + F no Windows ou Command + F no MacOS para abrir a barra de pesquisa no seu navegador web. Digite log_errors para encontrar a linha log_errors . Se o valor for Off, então o registro de erros do PHP está desativado.
Existem três maneiras de ativar o registro de erros PHP, dependendo da plataforma de hospedagem:
- Acessando o hPanel (se você possui um plano de hospedagem de sites, WordPress ou Cloud da Hostinger)
- Editando o arquivo .htaccess.
- Editando o arquivo php.ini se você é um usuário de desktop Linux ou Hospedagem VPS Linux.
Como Ativar o Log de Erros Usando o hPanel
Ativar os logs de erro PHP no hPanel é fácil, pois existe uma configuração dedicada para isso. Siga esses passos simples:
- Acesse o hPanel.
- Vá para a seção Avançado e clique em Configuração PHP:
- Abra as opções PHP e marque a caixa logErrors :
- Role para baixo até o final da seção e clique em Salvar.
O sistema agora irá gerar o arquivo error_log quando o site encontrar um erro PHP. Siga estas etapas para abrir o arquivo:
1. Abra o Gerenciador de Arquivos e a opção Acessar todos os arquivos da Hospedagem:
2. Vá para o diretório .logs.
3. Encontre o arquivo error_log_[domínio].
Quando você abrir o arquivo, ele mostrará as mensagens de erro do log, incluindo a data em que o erro ocorreu, o tipo de erro e até mesmo os detalhes do arquivo e da linha que precisam de correção.
No exemplo acima, o registro de erros especifica uma sintaxe IF inesperada na linha 109 do arquivo functions.php. Essas informações ajudam a localizar o erro rapidamente e tomar medidas corretivas.
Como Usar o hPanel para Exibir Erros
Além disso, o hPanel permite que você habilite facilmente a opção displayErrors. Para isso, consulte as seguintes etapas:
1. Acesse o hPanel.
2. Vá para a seção Avançado → Configuração PHP:
3. Abra as opções PHP e marque a caixa displayErrors :
4. Salve as alterações.
5. Por fim, visite seu site, e o erro PHP será exibido:
Como Ativar o Log de Erros Usando o Arquivo .htaccess
Se você não é cliente Hostinger e não consegue encontrar nenhuma configuração de log de erros PHP no painel de controle do provedor, é possível ativá-lo editando o arquivo .htaccess .
Localize o arquivo .htaccess usando o gerenciador de arquivos ou um cliente FTP. Ele deve estar localizado dentro do diretório raiz do site. No entanto, em alguns casos o arquivo pode estar oculto. Nesse caso, vá para as configurações no Painel de Controle ou no cliente FTP para exibir arquivos ocultos.
Importante! Faça backup do arquivo .htaccess antes de fazer qualquer alteração.
Uma vez encontrado o arquivo .htaccess , siga os seguintes passos:
- Abra o arquivo .htaccess e insira o seguinte código:
php_flag log_errors on
php_value error_reporting 32767
php_value error_log "error_log.txt"
- Crie um arquivo intitulado error_log.txt no diretório public_html.
- Salve e feche. Todos os logs de erro PHP serão relatados no arquivo error_log.txt .
Agora o registro de erros PHP está habilitado. Você pode verificar isso usando novamente as informações do PHP, e o Local Value deve estar ativado. Não se preocupe se o Master Value ainda estiver desligado, pois o local value irá substituí-lo.
Se o site encontrar algum problema, abra o error_log.txt, e você verá os registros de erro do PHP.
Como Ativar o Registro de Erros Usando o Arquivo php.ini
O terceiro método para habilitar o registro de erros PHP é editando o arquivo php.ini. Ele contém a configuração padrão do servidor web para executar aplicações PHP.
Observe que o arquivo php.ini não está acessível para usuários de hospedagem compartilhada, pois requer acesso root do servidor. Por isso, este método é indicado para usuários de Linux ou Hospedagem VPS.
Localizando o Arquivo php.ini
O diretório pode variar, dependendo se está na interface de linha de comando (CLI) ou no sistema operacional do servidor web, como Apache e NGINX.
Localize o arquivo php.ini acessando as informações do PHP. Assim que você abrir, pressione CTRL + F no Windows ou Command + F no MacOS para abrir a barra de pesquisa e procure pela seção Loaded Configuration File . Você encontrará o diretório do arquivo php.ini.
Outro método para encontrar o arquivo de configuração é usando a linha de comando. Conecte-se ao servidor web usando um cliente SSH e execute o seguinte comando:
php -i | grep php.ini
O resultado deverá ser algo assim:
Dito isto, aqui estão os diretórios mais comuns de localização do arquivo php.ini dependendo do sistema operacional:
- CLI – /etc/php/7.4/cli/php.ini. Observe que alterar a configuração do PHP no CLI não afetará o servidor web.
- Apache – /etc/php/7.4/apache2/php.ini.
- NGINX ou Apache com PHP-FPM – /etc/php/7.4/fpm/php.ini.
Importante! Se necessário, substitua 7.4 pela versão do PHP que você realmente usa.
Editando o Arquivo php.ini
Uma vez que você localize o arquivo php.ini , abra e edite-o com o editor de texto Nano usando o seguinte comando:
nano etc/php/7.4/apache2/php.ini
Observe que você deve adaptar o comando dependendo do caminho do php.ini . O resultado deverá ser algo assim:
Assim que você abrir o arquivo php.ini , ele exibirá as diretivas de configuração. Altere os valores dessas diretivas para configurar a configuração do PHP no seu servidor web.
Quando se trata do log de erros PHP, existem três diretivas principais:
- log_errors – liga ou desliga o registro de erros do PHP. O valor padrão é 0, o que indica que o registro de erros do PHP está desativado.
- error_log – envia a mensagem de erro para o arquivo de registro de erros. O valor padrão é 0, e você deve definir o caminho absoluto para o arquivo de log de erro.
- error_reporting – define o nível mínimo de relatório de erros. O valor é null por padrão, e você deve alterar seus parâmetros para relatar todos os tipos de erros.
Para configurar essas diretrizes, simplesmente use os seguintes comandos no editor de texto:
log_errors = on
error_reporting = E_All
error_log = /caminho/nomedoarquivo
Certifique-se de substituir /caminho/nomedoarquivo pelo caminho e nome do arquivo desejados para o arquivo de log de erro. Alternativamente, use este comando para registrar erros no log do sistema:
error_log = syslog
Além dessas três principais diretrizes, várias outras estão relacionadas ao registro de erros do PHP, como:
- display_errors – define se o registro deve exibir erros na saída. Recomendamos desativar isso como uma medida de segurança.
- log_error_max_length – define o comprimento máximo dos erros registrados. Defina o valor como zero para desativar o limite.
- track_errors – especifica se o registro deve armazenar a última mensagem de erro na variável $php_errormsg.
Tipos de Log de Erro PHP Mais Comuns
Um dos detalhes que o registro de erros do PHP fornece é o tipo de erro que ocorreu. Em geral, existem quatro tipos de erros PHP. Entendê-los é essencial para saber como corrigir e evitar que os mesmos erros aconteçam novamente.
Erro de Alerta (Warning Error)
Este erro alerta sobre um problema que pode causar uma falha mais significativa a longo prazo. No entanto, tais problemas não interrompem a execução do script.
A causa mais comum é usar um caminho de arquivo que não existe. Se você encontrar esse erro, verifique o nome do arquivo no script ou diretório, pois um erro de digitação pode fazer com que o script não consiga encontrá-lo.
Erro de Notificação (Notice Error)
Um erro de notificação é semelhante a um erro de alerta, pois ainda permite a execução do script. No entanto, ele geralmente indica uma variável não declarada ou indefinida no script, em vez de um arquivo ausente.
Simplesmente verifique a variável indicada na mensagem de erro.
Erro de Análise (Parse Error)
Um erro de análise ou sintaxe indica um símbolo errado, aspas não fechadas, ponto e vírgula faltando ou erro de ortografia na sintaxe do script. Ele encerra o script e pode acionar mensagens de erro em sites do WordPress.
Os registros de erro indicarão o símbolo específico ou a sintaxe que causou isso, junto com o arquivo e a linha de código, tornando fácil corrigir o erro de sintaxe.
Aqui está um exemplo de uma mensagem de erro de análise:
PHP Parse error: syntax error, unexpected ‘2’ (T_LNUMBER), expecting ‘)’ in /home/u802426761/domains/username/public_html/wp-config.php on line 54
Este registro de erro indica que há um caractere “2” que não deveria estar na linha 54 do arquivo wp-config.php. Para consertar, abra o arquivo e delete o caractere problemático.
Dica
Quando você abre um arquivo usando o Gerenciador de Arquivos do hPanel, o editor de texto marcará a linha problemática com um X. Isso ajuda a encontrar o erro rapidamente e alerta você para erros de análise ao ajustar arquivos.
Erro Fatal (Fatal Error)
Um erro fatal ocorre quando o script chama uma função, mas a própria função não está definida. Ao contrário dos outros tipos de erros PHP, um erro fatal pode fazer o aplicativo travar. Existem três tipos de erros fatais baseados no momento da ocorrência:
- Erro fatal na inicialização – ocorre quando o sistema não consegue executar o código devido a um erro durante a instalação.
- Erro fatal em tempo de compilação – ocorre quando o programador tenta usar uma classe, função ou dados inexistentes.
- Erro fatal em tempo de execução – semelhante a um erro fatal em tempo de compilação, mas ocorre durante a execução do programa.
Encontre a função indefinida fornecida no registro de erros e certifique-se de definir e chamar a função correta. Além disso, verifique se há algum erro de ortografia se você estiver usando uma função embutida.
Aqui está um exemplo de um erro fatal do PHP:
PHP Fatal error: Call to undefined function get_header() in /var/www/username/public/blog/wp-content/themes/theme/index.php on line 37
Neste caso, abra o arquivo index.php mencionado no registro de erros e verifique a função na linha 37 para garantir que está definida corretamente.
Outro motivo comum para um erro fatal é exceder o tempo máximo de execução, o que simplesmente significa que o script PHP demora mais para ser concluído do que o limite de tempo pré-determinado. Se isso acontecer, o registro de erros deve parecer com isso:
Fatal error: Maximum execution time of 30 seconds exceeded in /home/username/domains/domain.com/public_html/wp-includes/class-phpmailer.php on line 737
Para consertar isso, você precisa configurar o tempo máximo de execução do PHP. É possível fazer isso editando o arquivo .htaccess , configurando as configurações do hPanel ou instalando um plugin do WordPress.
Conclusão
O registro de erros PHP ajuda você a solucionar problemas em um site, registrando os detalhes do erro, incluindo o arquivo PHP e a linha de código que precisa ser corrigida. Ter o log de erros PHP ativado é essencial, mas, infelizmente, ele geralmente não vem ativado por padrão.
Vamos recapitular os três métodos para habilitar o registro de erros PHP:
- Usando o hPanel – possível apenas se você estiver usando o serviço de hospedagem de sites, WordPress ou Cloud da Hostinger. Ele permite que você ative facilmente o log de erros PHP e a exibição de erros PHP em alguns cliques.
- Editando o arquivo .htaccess – aplicável a quase todos os usuários de hospedagem. Basta inserir algumas linhas de código no arquivo .htaccess.
- Editando o arquivo php.ini – aplicável a usuários de hospedagem VPS e Linux que possuem acesso root. Este método envolve ajustar a configuração do PHP no servidor e definir o caminho do arquivo de log de erros do PHP.
Uma vez que você ativou o registro de erros PHP, verifique o arquivo de registro de erros no diretório do site, a menos que você tenha especificado o caminho de maneira diferente.
No entanto, é sempre melhor prevenir erros do que remediá-los. Portanto, sempre certifique-se de digitar a sintaxe PHP correta ao ajustar os arquivos do site. Além disso, preste atenção no indicador no editor de texto quando houver um erro de sintaxe.