Resolver problemas

Ativar o registo e a apresentação de erros do PHP

Revisto a 4 min de leitura depuração PHP

Quando um site mostra uma página em branco ou um erro 500, a mensagem do PHP que explica a causa não é visível por predefinição. Pode fazer com que seja guardada num ficheiro de registo (o recomendável) ou, durante alguns minutos, que seja mostrada no ecrã.

Opção 1: a partir do .htaccess

É a forma mais rápida e só afeta o site em que a aplica.

  1. No cPanel, abra o gestor de ficheiros (File Manager) e entre em public_html (ou na pasta do domínio que falha). Ative Show Hidden Files em Settings se não vir o .htaccess; se não existir, crie-o.
  2. Adicione no início do ficheiro:
php_value error_reporting -1
php_flag display_errors Off
php_flag log_errors On
php_value error_log /home/USUARIO_CPANEL/error_log
  1. Substitua USUARIO_CPANEL pelo seu utilizador do cPanel (aparece na coluna da direita do cPanel, em General Information).
  2. Volte a carregar a página que falha.

Os erros serão guardados no ficheiro error_log da pasta principal da conta, fora de public_html, pelo que ninguém o poderá descarregar a partir do site. Abra-o com o gestor de ficheiros: as últimas linhas são as mais recentes.

Opção 2: a partir do seletor de PHP do cPanel

  1. No cPanel, entre em Select PHP Version e abra o separador Options.
  2. Altere log_errors para On. É guardado automaticamente.

Esta alteração afeta todos os sites da conta que usam essa versão de PHP. Os erros são guardados num ficheiro error_log na mesma pasta do script que falha (normalmente public_html).

Ver os erros no ecrã

Se precisar de ver o erro diretamente no navegador, altere display_errors para On: no .htaccess, com php_flag display_errors On, ou no separador Options do seletor de PHP.

Faça-o apenas o tempo necessário para ver o erro e volte a deixá-lo em Off: a mensagem pode mostrar a qualquer visitante caminhos internos ou dados de ligação à base de dados.

No WordPress tem, além disso, o seu próprio modo de depuração, explicado em depurar erros no WordPress.

Como ler o erro

Cada linha do registo indica a data, o tipo de erro, a mensagem e o ficheiro e a linha onde ocorreu, por exemplo:

[27-Oct-2026 10:15:02 Europe/Madrid] PHP Fatal error:  Allowed memory size of 134217728 bytes exhausted (tried to allocate 20480 bytes) in /home/usuario/public_html/wp-content/plugins/ejemplo/ejemplo.php on line 42
  • Fatal error é o que estraga a página; os Warning, Notice e Deprecated normalmente não.
  • O caminho indica-lhe o culpado: se estiver dentro de wp-content/plugins/ejemplo, o problema está nesse plugin.

Se o error_log não aparecer

  • Verifique se o utilizador do cPanel no caminho está correto.
  • Se adicionar as linhas ao .htaccess provocar um erro 500, retire-as e use a opção 2.
  • Se a página falhar mas não ficar nada registado, o erro pode não ser do PHP: reveja Metrics > Errors no cPanel.

Quando terminar, retire as linhas do .htaccess ou volte a deixar log_errors como estava, e apague o error_log para que não continue a crescer.

Também lhe pode ser útil

Algo não bate certo ou mudou? Diga-nos e revemos.