Erro 500 (Internal Server Error): descobrir a causa, passo a passo

A resposta curta: o erro 500 quer dizer «algo correu mal no servidor e não sei dizer o quê». A causa está quase sempre no registo de erros, e quase sempre é uma destas quatro: um erro no código PHP, uma regra inválida no .htaccess, permissões erradas, ou uma versão do PHP que não serve. O registo diz-lhe qual.

1. Ler o que o servidor registou

No cPanel, a página Erros mostra os últimos erros do site; e, na pasta do site, pode haver um ficheiro error_log. Procure a linha da hora em que o erro apareceu. Veja Ler as páginas de Erros e de Acesso Bruto do cPanel.

O que diz o registo A causa O que fazer
PHP Parse error / Fatal error, com um ficheiro e uma linha Um erro no código, depois de uma edição ou de uma atualização. Corrija a linha indicada, ou reponha o ficheiro anterior. Num WordPress, veja Erros comuns do WordPress.
Allowed memory size exhausted O programa precisou de mais memória do que o limite. Corrigir «Allowed memory size exhausted».
Invalid command ou .htaccess: ... Uma regra do ficheiro .htaccess que o servidor não reconhece. Renomeie o .htaccess (por exemplo, para .htaccess-teste) e veja se o erro some: O .htaccess em projetos PHP.
Premature end of script headers Um script que não devolveu o cabeçalho certo, ou com as permissões erradas. Veja Permissões de ficheiros. Para Perl/CGI, veja Scripts Perl e CGI.
Call to undefined function ou classes em falta O PHP não tem uma extensão ou a versão é antiga demais (ou nova demais). Mude a versão do PHP e veja as extensões: Mudar a versão do PHP.
O registo está vazio O erro vem de antes do PHP (o .htaccess) ou ainda não foi registado. Experimente o teste do .htaccess, e repita o erro para o registo se atualizar.

2. Se o registo não ajuda

1 Desligue as extras: num WordPress, desative os plugins e o tema, mesmo sem entrar no painel: Desativar plugins, mesmo sem conseguir entrar.
2 Reponha a última versão que funcionava, da cópia de segurança, para uma pasta de teste: A sua própria cópia de segurança.
3 Confirme as permissões: pastas 755 e ficheiros 644. Um ficheiro PHP com 777 pode dar erro 500 em muitos servidores.
4 Veja se foi o limite de recursos: Processos de entrada. Esse costuma dar outro erro (508), mas às vezes aparece como 500.
Não apague o .htaccess para «ver se resolve»: renomeie-o e guarde uma cópia. Num WordPress, as ligações das páginas dependem dele. Para os outros erros do mesmo grupo, veja Erros de sites explicados e Erro 503 e a família dos 5xx.

Fez isto e o erro 500 continua? Abra um pedido com o endereço, a hora do erro e a linha do registo.

Abrir pedido de suporte

VEJA TAMBÉM

Erros de sites explicados: 500, 403, 404, 508 e o que fazer

Ler as páginas de Erros e de Acesso Bruto do cPanel quando uma página falha

Erro 403 Forbidden: permissões, .htaccess e endereços bloqueados

O seu site está em baixo: o que verificar primeiro

PRODUTO RECOMENDADO

Alojamento de sites com cPanel

Domínio e SSL incluídos, cópias diárias e o painel que já conhece. desde 321,75 MT/mês (plano de 3 anos, com cupão)

Ver planos
  • 0 Utilizadores acharam útil
Esta resposta foi útil?