O erro 500 Internal Server Error indica falha ao executar o site. Veja como achar a causa no log e corrigir PHP, arquivo htaccess, permissões e plugins.
O erro 500 é genérico: o servidor tentou rodar o código do site e o código falhou. A página de erro não diz o motivo, mas o log diz. No WordPress, o mesmo problema costuma aparecer como "Houve um erro crítico neste site", e às vezes como uma página totalmente em branco.
Antes de começar: o que mudou?
Em quase todos os casos o erro 500 aparece logo depois de uma mudança: atualização de plugin, tema ou do WordPress, troca da versão do PHP, edição do arquivo htaccess, migração ou envio de arquivos. Comece desfazendo a última mudança, se você souber qual foi.
Passo 1: leia o log de erros
- Procure o arquivo error_log. No cPanel, abra o Gerenciador de arquivos e veja a pasta do site (
public_htmlou a pasta do domínio). O PHP grava os erros num arquivo chamadoerror_logna mesma pasta do script que falhou. No WordPress, olhe também dentro dewp-admin. - Leia as últimas linhas. Procure por
PHP Fatal error. A linha diz o arquivo e o número da linha do problema, e muitas vezes o nome do plugin envolvido. - Veja também o log do servidor. No cPanel, em Métricas > Erros (Errors), aparecem os últimos erros do servidor web para a sua conta.
No WordPress, se nada aparecer, ligue o log de depuração no wp-config.php, antes da linha "Isso é tudo, pode parar de editar":
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
Recarregue a página com erro e leia o arquivo wp-content/debug.log.
debug.log quando terminar. Ele pode revelar caminhos e dados do site para quem souber onde procurar.Causas mais comuns e como corrigir
Versão do PHP incompatível
Sistema antigo em PHP novo, ou o contrário. Exemplo típico no log: Call to undefined function mysql_connect(), função que não existe desde o PHP 7. Escolha a versão que o seu sistema suporta no cPanel, em Select PHP Version, ou atualize o sistema. O ideal é atualizar: versões antigas do PHP não recebem mais correções de segurança.
Memória do PHP esgotada
No log: Allowed memory size of 134217728 bytes exhausted. Aumente o memory_limit em Select PHP Version > Opções (Options) ou, no arquivo htaccess da pasta do site:
php_value memory_limit 256M
Neste servidor (LiteSpeed), o php_value no arquivo htaccess funciona e o arquivo .user.ini é ignorado. Se o erro continuar com um limite maior, o site está consumindo mais memória do que o plano comporta: procure o plugin ou a rotina responsável.
Plugin ou tema com defeito (WordPress)
Pelo Gerenciador de arquivos ou por FTP, renomeie a pasta do plugin suspeito em wp-content/plugins (por exemplo, de nome-do-plugin para nome-do-plugin.off). O WordPress desativa o plugin sozinho. Sem suspeito, renomeie a pasta plugins inteira, teste e depois volte o nome e reative um por um. Com o tema, o processo é o mesmo em wp-content/themes.
Desde a versão 5.2, o WordPress também manda ao e-mail do administrador uma mensagem com um link para o modo de recuperação, que permite entrar no painel e desativar o plugin culpado.
Regra inválida no arquivo htaccess
Diretivas copiadas de outro servidor ou um erro de digitação derrubam o site inteiro. No Gerenciador de arquivos, ative Mostrar arquivos ocultos nas configurações, renomeie o arquivo para htaccess.off e teste. Se o site voltar, o problema está nele. No WordPress, gere um arquivo novo em Configurações > Links permanentes > Salvar alterações.
Permissões erradas
Use 755 para pastas e 644 para arquivos. Permissão 777 não "libera" nada: o servidor pode se recusar a executar o arquivo por segurança. Para corrigir, clique com o botão direito no item, no Gerenciador de arquivos, e escolha Alterar permissões.
Espaço em disco da conta esgotado
Com a cota cheia, o PHP não consegue gravar sessões, cache nem uploads, e o site pode responder 500 ou 503. Confira o Uso de disco na coluna lateral do cPanel. Um error_log gigante, que cresce porque o mesmo aviso se repete a cada visita, é um culpado comum: corrija a causa e apague o arquivo.
Arquivos faltando depois de migração ou envio por FTP
Mensagens como Failed opening required 'vendor/autoload.php' indicam arquivo ausente. Reenvie a pasta completa e confira se nenhum arquivo ficou com 0 byte por causa de uma transferência interrompida.
Perguntas frequentes
O erro 500 é problema do servidor?
Na grande maioria das vezes é do código do site, e o log mostra onde. Se todos os seus sites dão erro 500 ao mesmo tempo e o error_log está vazio, abra um chamado.
O que mando para o suporte?
O endereço da página, o horário do erro, a última mudança que você fez e as últimas linhas do error_log.