Tempo estimado: 3–8 min | Nível: Iniciante a Intermediário
O Erro 500 — Internal Server Error indica que o servidor encontrou um problema ao executar a sua aplicação (PHP/CGI, Perl, Python etc.). Abaixo, um checklist rápido e as correções mais comuns.
Checklist rápido
1) Verifique .htaccess (regras inválidas) | 2) Revise permissões de arquivos/pastas | 3) Confirme versão do PHP compatível | 4) Consulte o error_log do site | 5) Teste com plugin/tema desativados (se usar CMS).
1) Verifique .htaccess (regras inválidas) | 2) Revise permissões de arquivos/pastas | 3) Confirme versão do PHP compatível | 4) Consulte o error_log do site | 5) Teste com plugin/tema desativados (se usar CMS).
Causas comuns e soluções
1) Permissões incorretas (PHP/CGI)
- Não use 777 (escrita universal). Em muitos servidores isso causa 500.
- Recomendado: pastas 755, arquivos 644; scripts CGI/Perl 755.
- Como corrigir: pelo Gerenciador de Arquivos do painel ou via FTP, ajuste as permissões conforme acima.
2) .htaccess com diretivas inválidas
- Regras de reescrita, módulos desabilitados ou copiados de outro ambiente podem gerar 500.
- Teste rápido: renomeie
.htaccesspara.htaccess.bake recarregue o site. - Se funcionar, reintroduza as regras aos poucos até encontrar a linha problemática.
3) Versão/handler do PHP incompatível
- Código antigo pode não rodar em PHP novo (ou vice-versa).
- Como corrigir: no painel, mude a versão do PHP do domínio para a suportada pela sua aplicação, ou atualize o código/plugins para a versão atual.
4) Limites de recursos (memória/tempo)
- Estouro de
memory_limitoumax_execution_timepode acionar 500. - Como corrigir: otimize o código/consultas; quando possível aumente limites em
php.ini,.user.iniou no painel (dentro do permitido pelo plano).
5) Erros em plugins/temas (WordPress e similares)
- Plugins/temas com falha quebram o site e retornam 500.
- Como corrigir (WP): renomeie
wp-content/pluginsparaplugins.bake teste. Se voltar, reative um a um. Faça o mesmo com o tema (wp-content/themes).
6) Upload/transferência incorreta (CGI/Perl/Python)
- Scripts CGI enviados em modo binário (em vez de ASCII) ou com shebang errado geram 500.
- Como corrigir: envie em ASCII, garanta permissões 755 e shebang correto (ex.:
#!/usr/bin/perl).
7) Proprietário/grupo ou caminho errado
- Em alguns ambientes, arquivos com ownership incorreto ou symlinks quebrados causam 500.
- Como corrigir: reenvie os arquivos pelo usuário do site e verifique caminhos absolutos/relativos.
Como diagnosticar (passo a passo)
- Abra o log de erros (error_log) do domínio/pasta pública. Ele mostra a linha/arquivo que gerou o 500.
- Ative exibição de erros temporariamente (ambiente de testes) para mensagens detalhadas:
Não deixe isso ligado em produção.ini_set('display_errors', 1); ini_set('display_startup_errors', 1); error_reporting(E_ALL); - Teste o .htaccess: renomeie e reintroduza regras aos poucos.
- Troque a versão do PHP no painel e teste novamente.
- Desative plugins/temas (em CMS) e reative um a um.
Boas práticas
• Evite permissões 777. Use 755/644.
• Mantenha CMS, plugins e temas atualizados.
• Não copie .htaccess de outro servidor sem revisar as diretivas.
• Em migrações, limpe cache/otimizadores (OPcache, plugins, CDN) e ajuste caminhos.
• Evite permissões 777. Use 755/644.
• Mantenha CMS, plugins e temas atualizados.
• Não copie .htaccess de outro servidor sem revisar as diretivas.
• Em migrações, limpe cache/otimizadores (OPcache, plugins, CDN) e ajuste caminhos.
Exemplos de causas específicas
- RewriteBase/RewriteRule incorretos no
.htaccess. - Composer autoload faltando (
vendor/ausente): rodecomposer installfora do ambiente compartilhado, depois envie os arquivos. - Index errado (sem
index.php/index.html) e sem DirectoryIndex definido. - ModSecurity bloqueando padrão específico: abra um ticket com a URL e a hora do evento.
Modelo para abrir ticket
Assunto: Erro 500 no site
Domínio/URL: [https://meusite.com.br/pagina]
Quando começou: [data/hora] | O que mudou antes: [plugin/tema/atualização/migração]
Log de erros: [copie a última linha/trecho do error_log]
Já testei: [renomeei .htaccess, troquei PHP, desativei plugins, revisei permissões]
Ainda com dúvidas?
Fale com nosso suporte. Podemos verificar logs do servidor, regras de segurança e limites do plano, e indicar o ajuste correto.
Palavras-chave: erro 500, internal server error, .htaccess, permissões 755 644, PHP versão, memory_limit, max_execution_time, CGI, Perl, Python, WordPress, error_log, ModSecurity