O que é o erro 500 e por que ele ocorre?


Se você chegou até aqui é porque provavelmente está tendo que lidar com o famoso erro 500, certo? Então você está no lugar certo, continue a leitura para entender mais sobre o assunto e, principalmente, saber como evitá-lo.

O Erro 500 (Internal Server Error), é um tipo de status http que o webservice (Apache/Nginx ou IIS) retorna quando ele não consegue especificar o erro real que ocorre internamente durante o acesso ao site.

Tá sem tempo e prefere ouvir o conteúdo? Clique no player abaixo.

O contexto do erro 500

Quem desenvolve e mantém aplicativos e sites, geralmente, já conhece bem o erro 500 e prefere ao máximo ficar bem longe dele. O motivo é que, apesar de, em geral, o erro 500 ser fácil de consertar, ele não costuma ter uma causa fácil de ser apurada.

Essa especificidade torna a identificação da solução algo complicado de executar.

A melhor maneira de identificar o problema raiz do erro 500 depende de características do servidor e também do modo em que a aplicação foi concebida. Considere algumas dicas de debugging que podem ajudar a diagnosticar e corrigir as causas comuns desse problema.

Dentre as principais causas do erro 500, podemos destacar as seguintes situações e indicações a serem verificadas em um primeiro momento:

Erros de programação

É indicado ativar o debug da aplicação/php para analisar o log de erro e filtrar se pode estar sendo gerado algum alerta responsável pela ocorrência do erro.

Exemplo: erro por falta de memória RAM (Fatal error: Allowed memory size)

Estouros dos processos PHP / recursos disponíveis ao domínio

Isso pode ocorrer de acordo com a quantidade de recurso ou até mesmo a quantidade de processos PHP que o site tenha disponível para o uso.

O consumo dos recursos PHP pode ser verificado na ferramenta de ‘Performance’ no Painel de Controle (saiba mais no final deste artigo), e também podem ser verificados os scripts que estejam apresentando lentidão no acesso em “Configuração PHP” também no Painel de Controle.

Configurações no arquivo htaccess:

Caso o domínio esteja utilizando um arquivo “.htaccess”, ele pode estar com alguma configuração e/ou comando incorreto (No ambiente windows, o arquivo em questão é o web.config).

Erro 500 – Debugando plataformas populares

Sua aplicação está rodando através de um CMS, como o WordPress, Joomla ou Drupal?

Se positivo, é provável que, por serem plataformas testadas e com várias versões de melhoria, elas não causem o erro 500.

No entanto, dependendo do caso, quando a instalação está incorreta, por exemplo, esse tipo de erro acaba sendo comum e persistente.

Estes são alguns dos problemas comuns que podem causar erro 500 em plataformas populares:

  • Se o software for atualizado para uma nova versão e você se depara com o erro 500, é provável que a atualização tenha falhado e precise ser corrigida. Talvez você possa encontrar instruções sobre isso no site do fornecedor. Se o software acabou de ser instalado, algo pode ter falhado no processo de instalação;
  • Se o erro acontecer após um plugin novo ser ativado, é uma boa ideia desfazer a mudança (rollback) e tentar a instalação novamente. Até mesmo plugins consagrados e testados podem apresentar conflito com outros plugins do seu site;
  • Se a instalação core do software foi atualizada, plugins e temas mais antigos podem se tornar incompatíveis com esta atualização. Quando acontece esse problema, a única solução é desativar esses softwares mais antigos até o problema se resolver. Por si só, desativá-los não irá resolver o seu problema, porém após identificar o que está causando o erro, é possível entrar em contato com o desenvolvedor responsável e, talvez, conseguir uma correção.

Dentre as principais causas para as incidências do erro 500 que identificamos diariamente em nosso suporte, destaco algumas e o tratamento para cada caso:

Quantidade de recurso necessária para a aplicação de maneira desproporcional a necessidade real do site:

Tenha sempre em mente que os requisitos mínimos que uma aplicação possui podem aumentar de maneira exponencial de acordo com os componentes que ela possua.

Um bom exemplo disto é o Magento que, em sua versão 1.9, possuía a necessidade mínima de 256Mb de memória RAM, enquanto seu sucessor na versão 2.0 passou a necessitar de 2Gb de memória RAM.

É extremamente importante ler sua aplicação e ter ciência desses detalhes, pois podem ser cruciais para seu site ter a melhor performance e desempenho.

Dimensionamento dos processo PHP inadequados à memória RAM disponível:

Ainda no exemplo do Magento 1.9, podem existir incidências do erro 500 caso os processos PHP não sejam o bastante para o domínio.

Sendo a memória RAM proporcional aos processos PHP, o indicado inicialmente para uma instalação pura do Magento 1.9 seriam 4 Processos PHP de 256Mb cada um (de modo que o total de memória ram indicada seria de 1Gb). Enquanto o Magento 2, teria uma necessidade muito superior a esta, com base em seus requisitos mínimos, a qual já seria no mínimo de 8Gb de ram e 4 Processos PHP.

Estas configurações podem variar, em alguns casos requisitando valores mais altos ou até mesmo inferiores se a aplicação estiver devidamente otimizada.

Excesso de requisições por página:

Como o erro 500 pode ocorrer devido o esgotamento dos processos PHP, o excesso de requisições em uma página pode ocasionar o erro da mesma forma. Sendo indicado a página principal do site possuir o mínimo necessário de informações para que seu carregamento seja ágil e breve ao PHP.

Seja uma loja virtual ou portal de notícias, o excesso de informações acumuladas pode prejudicar a estabilidade do site em si.

Instalação de plugin/componente:

Por vezes a instalação de algum plugin pode necessitar inserir regras no arquivo .htaccess, que caso tenha alguma outra diretiva em conflito poderá ocasionar o erro 500. É indicado efetuar um backup prévio antes de qualquer instalação ou atualização importante, para evitar ocorrências do erro 500.’

Como a KingHost ajuda você a evitar o erro 500?

Quem é cliente KingHost tem acesso, no painel de controle, à ferramenta “Performance”, que mostra informações que ajudarão você a evitar o erro 500.

imagem do painel de controle mostrando ícone de performance - post erro 500

Clicando no ícone, é possível acompanhar o consumo em tempo real, a média de uso de recursos utilizados e até mesmo simular o desempenho do seu projeto em outros planos de hospedagem.

comparação sobre consumo e performance no painel de controle da kinghost - post erro 500

Tela de consumo e performance no painel de controle da KingHost.

Monitore também o histórico de consumo de memória RAM e CPU de cada site, de forma a acompanhar e evitar que imprevistos como o erro 500 aconteçam.

tela mostrando utilização de memória no painel de controle da kinghost - post erro 500

Além disso, na ferramenta “Performance” você também pode ter acesso a um diagnóstico completo sobre a utilização de recursos e recomendações para melhorar o desempenho do seu site.

O documento, que pode ser baixado gratuitamente no painel de controle do cliente KingHost no botão acima, mostra indicadores do seu site (ou sites) como:

  • Consumo de CPU;
  • Consumo de memória;
  • Banco de Dados  – requisições;
  • PHP – requisições;
  • Acesso/visitas.

Além disso, no diagnóstico você encontra uma visão geral, estatísticas de acesso, consumo de processamento e, o mais importante: recomendações técnicas para que você tenha uma funcionalidade ainda melhor.

Ainda não é cliente da KingHost? Clique no banner abaixo e conheça nossos planos. Estamos preparados para ser sua parceira de sucesso!

O que é o erro 500 e por que ele ocorre?

 

 

Agora que você já entende mais sobre erro 500, ficou com alguma dúvida? Deixe nos comentários. Estamos à disposição para tirar dúvidas também. Confira nossa Wiki e conheça outras dicas técnicas para seu site.

[conteúdo atualizado em 21/05/2019]
Luis Trindade
Últimos posts por Luis Trindade (exibir todos)
Resumo
O que é o erro 500 e por que ele ocorre?
Nome do Artigo
O que é o erro 500 e por que ele ocorre?
Descrição
O erro 500 é um erro muito comum em sites, mas você sabe o que significa? Veja agora como corrigir problemas que ocasionam erro 500.
Autor
Nome
KingHost
Logo

Comentários

comentário(s)