15%

Poupe 15% em todos os serviços

Teste as suas habilidades e obtenha Desconto em qualquer plano

Utilizar o código:

Skills
Começar a trabalhar
25.10.2024

Erro 500 em um Site: O Que É e Como Corrigi-lo

Um 500 Internal Server Error é um dos erros mais comuns, perturbadores e mal compreendidos que pode encontrar na web. Ao contrário dos erros do lado do cliente, como 404 (Não Encontrado) ou 403 (Proibido), um erro 500 tem origem inteiramente no servidor — o que significa que o problema não tem nada a ver com o navegador, dispositivo ou ligação à internet do visitante. Em vez disso, algo no próprio servidor falhou e o servidor não sabe como recuperar ou explicar o que correu mal.

Para proprietários e administradores de websites, este erro pode ser alarmante. Para os visitantes, é simplesmente um beco sem saída. A boa notícia é que, na grande maioria dos casos, um 500 Internal Server Error é diagnosticável e corrigível — muitas vezes sem necessitar de conhecimentos técnicos avançados.

Este guia abrangente cobre tudo o que precisa de saber: o que significa o erro, por que acontece e exatamente como resolvê-lo passo a passo.

O Que É um 500 Internal Server Error?

O 500 Internal Server Error é um código de estado HTTP genérico devolvido por um servidor web quando encontra uma condição inesperada que o impede de satisfazer o pedido de um navegador. É essencialmente a forma do servidor dizer: “Algo correu mal, mas não consigo dizer-lhe exatamente o quê.”

Por ser um código de erro genérico, pode ser desencadeado por dezenas de problemas subjacentes diferentes — desde um único caractere mal colocado num ficheiro de configuração até um script que consome muitos recursos e esgota toda a memória disponível do servidor.

Variações Comuns da Mensagem de Erro 500

Dependendo do software do servidor, do ambiente de alojamento e do navegador, pode ver este erro apresentado de várias formas diferentes:

  • 500 Internal Server Error
  • HTTP Error 500
  • 500 – Internal Server Error
  • The website cannot display the page
  • HTTP 500 – Internal Server Error
  • Temporary Error (500)
  • Internal Server Error – The server encountered an internal error or misconfiguration and was unable to complete your request

Independentemente da forma como está formulado, todas estas mensagens apontam para o mesmo problema de raiz: uma falha do lado do servidor.

500 vs. Outros Erros HTTP

Código de ErroTipoSignificado
400Lado do clienteSintaxe de pedido inválida
403Lado do clienteAcesso proibido
404Lado do clientePágina não encontrada
500Lado do servidorErro interno do servidor
502Lado do servidorGateway inválido
503Lado do servidorServiço indisponível

Compreender que um erro 500 é do lado do servidor é fundamental — diz-lhe exatamente onde concentrar os seus esforços de resolução de problemas.

Causas Comuns de um 500 Internal Server Error

Antes de poder corrigir um erro 500, precisa de compreender o que o está a causar. Aqui estão os culpados mais frequentes:

1. Ficheiro .htaccess Corrompido ou Mal Configurado

O ficheiro .htaccess é um poderoso ficheiro de configuração do servidor Apache que controla redirecionamentos, reescritas de URL, restrições de acesso, regras de cache e muito mais. Um único erro de sintaxe, uma diretiva inválida ou um ficheiro corrompido pode imediatamente desencadear um erro 500 em todo o seu website.

Esta é uma das causas mais comuns, particularmente após a instalação de um novo plugin, edições manuais ou migração de um website.

2. Erros PHP e Falhas de Script

O PHP alimenta a maioria dos websites dinâmicos na internet hoje em dia, incluindo WordPress, Joomla, Drupal e inúmeras aplicações personalizadas. Se um script PHP encontrar um erro fatal — como um erro de sintaxe, uma chamada de função indefinida ou um ciclo infinito — o servidor pode devolver um erro 500 em vez de apresentar a página.

Os gatilhos comuns relacionados com PHP incluem:

  • Erros de sintaxe (ponto e vírgula em falta, parênteses não fechados)
  • Chamada de funções obsoletas ou removidas
  • Tempos limite de execução de scripts
  • Versão PHP incompatível com um plugin ou tema

3. Exceder os Limites de Recursos do Servidor

Cada ambiente de alojamento tem limites definidos de memória, uso de CPU e tempo de execução. Quando um script ou um aumento de tráfego empurra o consumo de recursos para além destes limites, o servidor pode falhar no processamento de pedidos e devolver um erro 500.

Isto é especialmente comum em planos de Alojamento Web Partilhado, onde os recursos são distribuídos entre vários utilizadores. Se o seu website atinge regularmente os limites de recursos, pode ser altura de considerar a atualização para um plano de Alojamento VPS para recursos dedicados e escaláveis.

4. Permissões Incorretas de Ficheiros ou Diretórios

Os servidores web baseados em Linux aplicam regras estritas de permissões de ficheiros. Se um ficheiro ou diretório tiver permissões demasiado restritivas (ou, em alguns casos, demasiado permissivas), o servidor pode ser incapaz de ler, executar ou escrever nele — resultando num erro 500.

Requisitos padrão de permissões:

  • Ficheiros: 644 (o proprietário pode ler/escrever; grupo e público podem ler)
  • Diretórios: 755 (o proprietário pode ler/escrever/executar; grupo e público podem ler/executar)
  • Scripts executáveis: 700 ou 755 dependendo da configuração do servidor

5. Plugins e Temas Defeituosos, Desatualizados ou em Conflito

Se estiver a utilizar um CMS como o WordPress, os plugins e temas estão entre as causas mais frequentes de erros 500. Um plugin mal codificado, um tema desatualizado incompatível com a sua versão atual de PHP, ou um conflito entre dois plugins podem todos causar falha no servidor.

Este risco aumenta significativamente quando:

  • Atualiza vários plugins simultaneamente
  • Instala um novo plugin sem testar num ambiente de staging
  • Utiliza uma versão PHP que um plugin já não suporta

6. Limite de Memória PHP Esgotado

O PHP tem um limite de memória configurável que determina a quantidade máxima de RAM que um único processo PHP pode consumir. Se os scripts do seu website necessitarem de mais memória do que a alocada pelo servidor, o PHP encerrará o processo e o servidor devolverá um erro 500.

Os limites de memória PHP predefinidos são frequentemente definidos de forma conservadora (por exemplo, 64M ou 128M), o que pode ser insuficiente para sites WordPress com muitas funcionalidades ou aplicações web complexas.

7. Configuração Incorreta do Servidor

Erros nos ficheiros de configuração principais do servidor — como o httpd.conf do Apache, o nginx.conf do Nginx, ou ficheiros de configuração de hosts virtuais — podem impedir o servidor de processar pedidos corretamente. Estes problemas são mais comuns após migrações de servidor, atualizações de software ou alterações manuais de configuração.

Se estiver a gerir a sua própria infraestrutura de servidor, um Servidor Dedicado dá-lhe acesso root completo para diagnosticar e corrigir problemas ao nível da configuração diretamente.

Como Corrigir um 500 Internal Server Error: Passo a Passo

Agora que compreende as causas potenciais, vamos percorrer cada correção de forma metódica.

Passo 1: Verificar e Repor o Ficheiro .htaccess

Este deve ser sempre o seu primeiro passo, pois é simultaneamente a causa mais comum e a mais fácil de testar.

Como fazer:

  1. Ligue-se ao seu website via FTP (usando FileZilla ou um cliente semelhante) ou através do Gestor de Ficheiros do painel de controlo do seu alojamento.
  2. Navegue até ao diretório raiz do seu website (normalmente public_html ou www).
  3. Localize o ficheiro .htaccess. Nota: pode estar oculto — ative “Mostrar Ficheiros Ocultos” no seu cliente FTP se necessário.
  4. Renomeie o ficheiro para algo como .htaccess_backup ou .htaccess_old.
  5. Recarregue o seu website no navegador.

Interpretação do resultado:

  • Se o erro 500 desaparecer: O ficheiro .htaccess era o problema. Pode agora gerar um novo.
  • Se o erro persistir: O ficheiro .htaccess não é a causa — avance para o próximo passo.

Gerar um novo ficheiro .htaccess (WordPress):

Inicie sessão no painel de administração do WordPress, vá a Definições → Permalinks e clique em Guardar Alterações sem modificar nada. O WordPress irá regenerar automaticamente um ficheiro .htaccess limpo.

Passo 2: Aumentar o Limite de Memória PHP

Se o seu site estiver a ficar sem memória, aumentar o limite de memória PHP é uma correção simples.

Método 1: Editar php.ini

Localize o ficheiro php.ini do seu servidor e encontre a diretiva memory_limit:

; Before
memory_limit = 128M

; After
memory_limit = 256M

Guarde o ficheiro e reinicie o seu servidor web.

Método 2: Editar .htaccess

Adicione a seguinte linha ao seu ficheiro .htaccess:

php_value memory_limit 256M

Método 3: Editar wp-config.php (apenas WordPress)

Abra o seu ficheiro wp-config.php e adicione a seguinte linha antes do comentário /* That's all, stop editing! */:

define('WP_MEMORY_LIMIT', '256M');

Após efetuar as alterações, recarregue o seu website para verificar se o erro foi resolvido. Se 256M não for suficiente, tente 512M — mas se o seu site necessitar consistentemente desta quantidade de memória, vale a pena investigar a causa subjacente ou atualizar o seu plano de alojamento.

Passo 3: Verificar e Corrigir as Permissões de Ficheiros

Permissões incorretas são uma causa silenciosa mas séria de erros 500. Veja como verificá-las e corrigi-las:

Via Cliente FTP (por exemplo, FileZilla):

  1. Clique com o botão direito num ficheiro ou diretório.
  2. Selecione Permissões de Ficheiro ou CHMOD.
  3. Defina o valor numérico:
  • Ficheiros: 644
  • Diretórios: 755

Via SSH (linha de comandos):

Para corrigir permissões recursivamente em todo o seu website:

# Fix directory permissions
find /var/www/your-site -type d -exec chmod 755 {} ;

# Fix file permissions
find /var/www/your-site -type f -exec chmod 644 {} ;

> Importante: Nunca defina ficheiros ou diretórios como 777 (escrita para todos). Isto é uma vulnerabilidade de segurança grave e também pode causar erros 500 em algumas configurações de servidor.

Passo 4: Desativar Plugins e Temas (WordPress / CMS)

Se estiver a utilizar WordPress ou outro CMS e suspeitar de um conflito de plugin ou tema, siga esta abordagem sistemática:

Desativar todos os plugins via FTP (quando não consegue aceder ao painel de administração):

  1. Ligue-se via FTP e navegue até /wp-content/.
  2. Renomeie a pasta plugins para plugins_disabled.
  3. Recarregue o seu website.
  4. Se o erro desaparecer, renomeie a pasta de volta para plugins.
  5. Reative os plugins um de cada vez através do painel do WordPress, recarregando o site após cada ativação.
  6. O plugin que desencadeia o erro 500 após a ativação é o culpado.

Mudar para um tema predefinido:

  1. Navegue até /wp-content/themes/ via FTP.
  2. Renomeie a pasta do seu tema ativo (por exemplo, mythememytheme_disabled).
  3. O WordPress irá automaticamente reverter para um tema predefinido.
  4. Se o erro for resolvido, o seu tema era a causa — contacte o programador do tema ou mude para uma versão atualizada.

Passo 5: Rever os Registos de Erros do Servidor

Os registos do servidor são a sua ferramenta de diagnóstico mais poderosa. Registam exatamente o que correu mal e quando, apontando frequentemente diretamente para o ficheiro, número de linha ou processo responsável pelo erro 500.

Onde encontrar os registos de erros:

ServidorLocalização Predefinida do Registo
Apache (Linux)/var/log/apache2/error.log
Nginx/var/log/nginx/error.log
cPanelcPanel → Registos → Registo de Erros
WordPress (com depuração)/wp-content/debug.log

Ativar o registo de depuração do WordPress:

Adicione o seguinte ao seu ficheiro wp-config.php:

define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);

Isto irá escrever todos os erros PHP em /wp-content/debug.log sem os apresentar aos visitantes.

O que procurar nos registos:

    PHP Fatal error — indica um script com erros
    Permission denied — confirma um problema de permissões de ficheiro
    Out of memory — confirma que o limite de memória PHP é demasiado baixo
    Premature end of script headers — frequentemente relacionado com problemas de scripts CGI/Perl
    
    Se estiver a utilizar um VPS com cPanel, pode aceder aos registos de erros diretamente a partir da interface cPanel sem necessitar de acesso SSH, tornando o diagnóstico significativamente mais acessível.
    Passo 6: Verificar Incompatibilidades de Versão PHP
    Uma causa frequentemente ignorada de erros 500 é uma incompatibilidade entre a versão PHP do seu servidor e a versão PHP exigida pelo seu CMS, plugins ou temas.
    Como verificar:
    
    No cPanel, vá a Software → Selecionar Versão PHP para ver a sua versão PHP atual.
    Verifique a documentação do seu plugin/tema para as versões PHP suportadas.
    O próprio WordPress publica os seus requisitos de compatibilidade PHP no site oficial WordPress.org.
    
    Se estiver a utilizar PHP 8.x mas um plugin foi criado para PHP 7.x (ou vice-versa), os conflitos podem facilmente causar erros fatais e respostas 500.
    Passo 7: Contactar o Seu Fornecedor de Alojamento
    Se trabalhou em todos os passos acima e o erro 500 persistir, o problema pode estar ao nível da infraestrutura — algo que apenas o seu fornecedor de alojamento pode aceder e resolver.
    Ao contactar o suporte, forneça:
    
    O(s) URL(s) exato(s) que devolvem o erro 500
    O momento aproximado em que o erro apareceu pela primeira vez
    Quaisquer alterações recentes feitas ao website (atualizações de plugins, alterações de código, migrações)
    Quaisquer entradas relevantes do registo de erros que já encontrou
    
    Um fornecedor de alojamento de qualidade terá acesso a registos ao nível do servidor, configurações de firewall e diagnósticos de infraestrutura que vão além do que está disponível para os proprietários individuais de websites.
    Prevenir Erros 500 no Futuro
    Corrigir um erro 500 é importante — mas evitar que aconteça novamente é ainda melhor. Aqui estão as melhores práticas para estabilidade a longo prazo:
    1. Manter Tudo Atualizado
    Atualize regularmente o núcleo do seu CMS, plugins, temas e versão PHP. O software desatualizado é uma das principais causas de problemas de compatibilidade e erros 500.
    2. Utilizar um Ambiente de Staging
    Antes de aplicar atualizações ou fazer alterações significativas a um website em produção, teste-as num ambiente de staging. Muitos fornecedores de alojamento oferecem ferramentas de staging com um clique.
    3. Manter Backups Regulares
    Os backups diários automatizados significam que, mesmo que um erro 500 seja causado por uma atualização incorreta ou corrupção de ficheiros, pode restaurar o seu site rapidamente. Esta é uma funcionalidade padrão na maioria dos planos de alojamento gerido.
    4. Monitorizar os Recursos do Servidor
    Utilize ferramentas de monitorização para acompanhar o uso de CPU, consumo de memória e I/O de disco. Se estiver consistentemente a aproximar-se dos limites de recursos no alojamento partilhado, atualizar para um plano de Alojamento VPS proporcionará a margem que o seu site necessita para funcionar de forma fiável.
    5. Implementar SSL e Boas Práticas de Segurança
    Proteja o seu website com um Certificado SSL válido e siga as diretrizes de reforço de segurança para o seu servidor e CMS. Infeções por malware e modificações não autorizadas de ficheiros são outra fonte de erros 500 inesperados.
    6. Escolher uma Infraestrutura de Alojamento Fiável
    A qualidade do seu ambiente de alojamento desempenha um papel importante na estabilidade geral do servidor. Alojar o seu website numa infraestrutura fiável e bem mantida reduz o risco de configurações incorretas do servidor e falhas relacionadas com recursos. Se o seu ambiente de alojamento atual estiver a causar problemas repetidos, considere explorar os Painéis de Controlo VPS para maior controlo sobre a configuração do seu servidor.
    Referência Rápida: Lista de Verificação para Resolução de Erros 500
    Utilize esta lista de verificação para trabalhar sistematicamente num 500 Internal Server Error:
    
    [ ] Renomear .htaccess e testar — regenerar se era a causa
    [ ] Aumentar o limite de memória PHP em php.ini, .htaccess, ou wp-config.php
  • [ ] Verificar permissões de ficheiros: 644 para ficheiros, 755 para diretórios
  • [ ] Desativar todos os plugins via FTP — reativar um a um para encontrar o conflito
  • [ ] Mudar para um tema predefinido para excluir problemas relacionados com o tema
  • [ ] Rever os registos de erros Apache/Nginx para mensagens de erro específicas
  • [ ] Ativar o registo de depuração do WordPress para saída detalhada de erros PHP
  • [ ] Verificar a compatibilidade da versão PHP com o seu CMS e plugins
  • [ ] Contactar o seu fornecedor de alojamento se o problema persistir ao nível da infraestrutura
  • Conclusão

    Um 500 Internal Server Error é inegavelmente frustrante — para os proprietários de websites que precisam do seu site online e para os visitantes que simplesmente querem aceder ao conteúdo. Mas raramente é um problema catastrófico ou permanente. Na maioria dos casos, uma abordagem metódica à resolução de problemas identificará a causa raiz e levará a uma solução em minutos ou horas.

    A chave é trabalhar as causas sistematicamente: comece pelo ficheiro .htaccess, verifique os limites de memória e as permissões de ficheiros, isole conflitos de plugins e temas, e consulte sempre os registos de erros do servidor para obter informações de diagnóstico precisas.

    Se o seu website estiver a experimentar erros 500 repetidos ou se estiver a descobrir que o seu ambiente de alojamento atual carece dos recursos ou da flexibilidade necessários para manter o seu site estável, pode ser altura de considerar uma solução de alojamento mais robusta. Os planos de Alojamento VPS da AlexHost oferecem recursos dedicados, acesso root completo e desempenho escalável — dando-lhe o controlo necessário para prevenir erros de servidor antes que afetem os seus visitantes.

    15%

    Poupe 15% em todos os serviços

    Teste as suas habilidades e obtenha Desconto em qualquer plano

    Utilizar o código:

    Skills
    Começar a trabalhar