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).
No vídeo abaixo, a Laura da explica as possíveis causas do erro 500 com base nas dúvidas de nossos clientes. Confira!
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:
1. Software atualizado
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.
2. Novo plugin
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.
3. Atualização da instalação core do software
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.
Saiba como uma Hospedagem na Nuvem pode impulsionar o seu negócio Baixando o Material Grátis “Por que Cloud?”. É só clicar no banner abaixo!
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 de todos os tipos 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.
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.
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.
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? Acesse o site e conheça nossos planos. Estamos preparados para ser sua parceira de sucesso!
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.
O que você achou deste conteúdo?