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 registro 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 registro diz-lhe qual.

1. Ler o que o servidor registrou

No cPanel, a página Erros mostra os últimos erros do site; e, na pasta do site, pode haver um arquivo 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 registro A causa O que fazer
PHP Parse error / Fatal error, com um arquivo 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 arquivo 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 arquivo .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 arquivos. 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 registro está vazio O erro vem de antes do PHP (o .htaccess) ou ainda não foi registrado. Experimente o teste do .htaccess, e repita o erro para o registro se atualizar.

2. Se o registro 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 arquivos 644. Um arquivo 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, os links 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 registro.

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 $6.60/mês (plano de 3 anos, com cupom)

Ver planos
  • 0 Usuários acharam útil
Esta resposta lhe foi útil?