O temido erro interno do servidor 500. Ele sempre parece surgir no momento mais inoportuno e coloca você, de repente, numa luta para descobrir como colocar seu site no ar novamente. Acredite, todos já passamos por isso.

Outros erros que se comportam de forma similar e que você talvez também já tenha visto incluem o assustador erro ao estabelecer uma conexão com o banco de dados e a terrível tela branca da morte. No momento em que seu site sai do ar, você está perdendo visitantes e clientes. Sem falar que isso é muito ruim para sua marca.

Hoje, nos aprofundaremos no erro interno do servidor 500 e conduziremos você pelas maneiras de colocar novamente seu site on-line de forma rápida. Leia abaixo para entender as causas desse erro e o que você pode fazer para impedir que ele volte a ocorrer no futuro.

Confira nosso guia em vídeo para corrigir o erro 500 Internal Server em seu site

O que é o Erro Interno do Servidor 500?

A Internet Engineering Task Force (IETF) define o erro 500 Internal Server Error como:

O código de status 500 (Internal Server Error) indica que o servidor encontrou uma condição inesperada que o impediu de atender à solicitação.

Quando você visita um website, seu navegador envia uma solicitação para o servidor onde o site em questão está hospedado. O servidor toma a solicitação, a processa e a envia de volta com os recursos solicitados (PHP, HTML, CSS, etc.), juntamente com um cabeçalho HTTP. O HTTP também inclui o que é chamado de código de estado HTTP. Um código de estado é uma forma de notificar você sobre a situação da solicitação. Ele pode ser um código de estado 200, que significa que “está tudo ok” ou um código de estado 500, que aponta que algo deu errado.

Existem diversos tipos de códigos de estado de erros 500 (500, 501502, 503504, etc.) e todos eles significam algo diferente. Neste caso, um erro interno de servidor 500 indica que o servidor encontrou uma condição inesperada que o impediu de completar a solicitação (RFC 7231, seção 6.6.1).

Código do erro HTTP Error 500
Tipo do erro Erro do código
Variações do erro “500 Internal Server Error”
“HTTP 500”
“Internal Server Error”
“HTTP 500 – Internal Server Error”
“500 Error”
“HTTP Error 500”
“500 – Internal Server Error”
“500 Internal Server Error. Sorry something went wrong.”
“500. That’s an error. There was an error. Please try again later. That’s all we know.”
“The website cannot display the page – HTTP 500.”
“Is currently unable to handle this request. HTTP ERROR 500.”
Causas do erro Cache do Navegador.
Arquivo .htaccess corrompido e limite de memória PHP.
Problemas com plugins e temas de terceiros.
Arquivos corrompidos em sua instalação do WordPress.
Problemas com o seu servidor do banco de dados.

Variações do Erro Interno do Servidor 500

Erro interno do servidor 500 no WordPress
Erro interno do servidor 500 no WordPress

Devido aos diversos servidores web, sistemas operacionais e tipos de navegadores, um erro interno do servidor 500 pode se apresentar de diversas formas diferentes. Mas todas elas comunicam a mesma coisa. Abaixo estão alguns exemplos das variações que você pode encontrar na web, muitas vezes apresentados em inglês:

  • “500 Internal Server Error”
  • “HTTP 500”
  • “Internal Server Error”
  • “HTTP 500 – Internal Server Error”
  • “500 Error”
  • “500 – Internal Server Error”
  • “500 Internal Server Error. Sorry something went wrong.”
  • “500. That’s an error. There was an error. Please try again later. That’s all we know.”
  • “The website cannot display the page – HTTP 500.”
  • Uma tela em branco
  • “Is currently unable to handle this request. HTTP ERROR 500.”

Você também pode receber a seguinte mensagem junto com o erro:

O servidor encontrou um erro interno ou uma configuração incorreta e foi incapaz de completar sua solicitação. Entre em contato com o administrador do servidor em [email protected] e informe-o sobre o momento que o erro ocorreu e tudo o que você possa ter feito para causar o erro. Mais informações sobre esse erro estão disponíveis nos registros de erros do sistema.

Internal Server Error
Internal Server Error

Outras vezes, você pode simplesmente ver uma tela branca. Ao lidar com erro interno do servidor 500, isso é bastante comum em navegadores como o Firefox e o Safari.

Erro interno do servidor o Firefox
Erro interno do servidor o Firefox

As grandes marcas podem até possuir suas próprias mensagens personalizadas de erro interno do servidor 500, como é o caso do Airbnb.

Erro interno do servidor 500 - Airbnb
Erro interno do servidor 500 – Airbnb

Aqui está outro exemplo criativo de erro do servidor 500 do pessoal da readme.

Erro Interno do Servidor 500 – readme
Erro Interno do Servidor 500 – readme

Até mesmo o poderoso YouTube não está a salvo dos erros internos do servidor 500.

Erro interno do servidor 500 no YouTube
Erro interno do servidor 500 no YouTube

Se for um servidor IIS 7.0 (Windows) ou superior, eles têm códigos de status HTTP adicionais para indicar mais de perto a causa do erro 500:

  • 500.0 – Ocorreu um erro no módulo ou ISAPI.
  • 500.11 – O aplicativo está sendo desligado no servidor da web.
  • 500.12 – O aplicativo está ocupado reiniciando no servidor da web.
  • 500.13 – O servidor da Web está muito ocupado.
  • 500.15 – Solicitações diretas para global.asax não são permitidas.
  • 500.19 – Os dados de configuração são inválidos.
  • 500.21 – Módulo não reconhecido.
  • 500.22 – Uma configuração httpModules do ASP.NET não se aplica no modo de pipeline gerenciado.
  • 500.23 – Uma configuração httpHandlers do ASP.NET não se aplica no modo de pipeline gerenciado.
  • 500.24 – Uma configuração de representação do ASP.NET não se aplica no modo de pipeline gerenciado.
  • 500.50 – Ocorreu um erro de reescrita durante o tratamento da notificação RQ_BEGIN_REQUEST. Ocorreu um erro de configuração ou execução de regra de entrada.
  • 500.51 – Ocorreu um erro de reescrita durante o tratamento da notificação GL_PRE_BEGIN_REQUEST. Ocorreu uma configuração global ou erro de execução de regra global.
  • 500.52 – Ocorreu um erro de reescrita durante o tratamento da notificação RQ_SEND_RESPONSE. Uma execução de regra de saída ocorreu.
  • 500.53 – Ocorreu um erro de reescrita durante o tratamento da notificação RQ_RELEASE_REQUEST_STATE. Ocorreu um erro de execução da regra de saída. A regra é configurada para ser executada antes que o cache do usuário de saída seja atualizado.
    500.100 – Erro interno de ASP.

Impacto dos Erros 500 no SEO

Ao contrário dos erros 503, que são utilizados no modo de manutenção do WordPress e informam ao Google para que ele verifique o site novamente mais tarde, um erro 500 pode ter um impacto negativo no SEO se não for corrigido rapidamente.

Se o seu site ficar fora do ar por apenas 10 minutos e ele estiver sendo consistentemente verificado, a página simplesmente será entregue através do cache. Ou o Google talvez nem tenha a chance de fazer uma nova verificação antes do backup ser realizado. Nesse caso, você estará completamente seguro.

Entretanto, se o site ficar fora do ar por um período longo de tempo, digamos mais de seis horas, o Google pode enxergar o erro 500 como um problema no nível do site que precisa ser endereçado. Isso poderia impactar em seu ranqueamento. Se você está preocupado com erros 500 repetitivos, deve primeiramente identificar por que eles estão acontecendo. Algumas soluções abaixo podem ajudar.

Como corrigir o erro 500 Internal Server?

Por onde você deveria começar a resolução de problemas quando você observa um erro interno do servidor 500 no seu site? Algumas vezes você nem saberá o que fazer no início. Em geral, os erros 500 ocorrem no servidor em si, mas de acordo com nossa experiência, tais erros são originados por dois fatores. O primeiro é um erro do usuário (pelo lado do cliente), enquanto o segundo é um problema direto com o servidor. Por isso, vamos nos aprofundar um pouco em cada um deles.

Veja as causas mais comuns e as formas de corrigir o erro interno do servidor 500 e coloque seu site de volta no ar em pouco tempo.

1. Tente Recarregar a Página

Pode parecer algo óbvio para algumas pessoas, mas uma das coisas mais fáceis e que deve ser feita logo de cara quando você encontra um erro interno do servidor 500 é simplesmente esperar um minuto e atualizar a página (F5 ou Ctrl+F5). Talvez a hospedagem ou o servidor estejam sobrecarregados e o site logo voltará ao ar. Enquanto você aguarda, também pode experimentar abrir o site em outro navegador para também descartar essa possibilidade de problema.

Você também pode colar o endereço do website na ferramenta downforeveryoneorjustme.com. Ela informa se o site está fora do ar ou se o problema está acontecendo apenas pelo seu lado. Uma ferramenta desse tipo verifica o código de estado HTTP que é retornado pelo servidor. Se ele for qualquer um que seja diferente do estado 200 de “está tudo ok”, ela retornará com uma indicação de que o site está fora do ar.

downforeveryoneorjustme
downforeveryoneorjustme

Também percebemos que isso pode ocorrer imediatamente após você atualizar um plugin ou tema em seu site. Geralmente isso acontece em hospedagens que não estão configuradas de forma adequada. Como consequência, elas passam por um tempo de inatividade. Entretanto, tudo costuma se resolver sozinho em alguns segundos e atualizar a página é tudo o que você precisa fazer.

2. Limpe o Cache do seu Navegador

Limpar o cache do seu navegador sempre é outra boa etapa da resolução de problemas antes de tentar se aprofundar mais na depuração do seu site. Abaixo estão instruções sobre como limpar o cache nos vários navegadores:

3. Verifique os Registros do Servidor

Você também pode tirar proveito de seus registros de erros. Se você é um cliente Kinsta, consegue visualizar facilmente os erros no visualizador de registros no painel MyKinsta. Isso pode ajudá-lo a identificar mais rapidamente a causa do problema, especialmente se ele for resultado de um plugin em seu site.

Verificação de registros para o erro interno do servidor 500
Verificação de registros para o erro interno do servidor 500

Se o seu host não tiver uma ferramenta de registro, você também pode habilitar o modo de depuração do WordPress adicionando o seguinte código ao seu arquivo wp-config.php para habilitar o registro:

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

Os registros costumam ficar localizados no diretório /wp-content. Em outros casos, como aqui na Kinsta, podem ter uma pasta dedicada nomeada de “logs”.

Pasta de registros de erros do WordPress (SFTP)
Pasta de registros de erros do WordPress (SFTP)

Você também pode verificar os arquivos de registros no Apache e no NGINX, que costumam ficar localizados em:

  • Apache: /var/log/apache2/error.log
  • NGINX: /var/log/nginx/error.log

Se você é um cliente Kinsta, também pode se beneficiar de nossa ferramenta de análise para obter um detalhamento do número total de erros 500 e observar com que frequência e quando eles ocorrem. Isso pode ajudar no processo de resolução de problemas se for uma questão corriqueira ou para identificar se algo foi resolvido sozinho.

Detalhamento da análise de respostas com erro 500
Detalhamento da análise de respostas com erro 500

Se o erro 500 estiver sendo exibido em virtude de um erro fatal do PHP, você também pode experimentar habilitar o registro de erros PHP. Basta adicionar o código abaixo no arquivo que estiver apresentando o erro. Em geral, você consegue identificar o arquivo na aba Console do Google Chrome DevTools.

ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);

Você também pode precisar alterar seu arquivo php.ini com o seguinte código:

display_errors = on

4. Verifique se há erros no estabelecimento de uma conexão do banco de dados

Erros internos do servidor 500 também podem ocorrer em virtude de um erro de conexão no banco de dados. Dependendo de seu navegador, você pode receber erros diferentes. Mas todos irão gerar um código de estado HTTP 500, independente de qual seja o registro de erros.

Abaixo está um exemplo de uma mensagem de “erro ao estabelecer uma conexão com o banco de dados” que pode aparecer em seu navegador. A página inteira é branca, pois não há dados que podem ser recuperados para renderizar o conteúdo, uma vez que a conexão não está funcionando corretamente. Ele não só acaba com o front-end do seu site, como também impede que você acesse seu painel do WordPress.

Exemplo de erro ao estabelecer uma conexão com o banco de dados
Exemplo de erro ao estabelecer uma conexão com o banco de dados

Então, por que exatamente isso acontece? Bem, existem algumas razões mais comuns:

  • O problema mais comum é que suas credenciais de login no banco de dados estão incorretas. Seu site usa informações de login diferentes para se conectar ao banco de dados MySQL.
  • Seu banco de dados de WordPress está corrompido. Com tantas alterações realizadas por temas, plugins e usuários constantemente fazendo instalações e remoções, por vezes o banco de dados acaba sendo corrompido. Isso pode ocorrer por uma tabela que esteja faltando ou que foi corrompida, ou ainda por alguma informação que possa ter sido excluída por acidente.
  • Talvez existam arquivos corrompidos na sua instalação do WordPress. Isso pode ocorrer devido a ataques de hackers.
  • Problemas com o servidor do banco de dados. Diversos fatores podem dar errado com hospedagens na web, como um banco de dados sobrecarregado por picos de tráfego ou sem resposta em virtude de muitas conexões simultâneas. Isso é bastante comum em hospedagens compartilhadas, já que elas utilizam os mesmos recursos para vários usuários nos mesmos servidores.

Dê uma olhada no nosso post completo sobre como corrigir o erro ao estabelecer uma conexão com o banco de dados.

5. Verifique seus Plugins e Temas

Plugins e temas de terceiros podem facilmente causar erros internos do servidor 500. Já vimos todos esses tipos causarem erros aqui na Kinsta, de plugins de exibição de slides até rotadores de anúncios. Muitas vezes você deverá receber o erro imediatamente após instalar algo novo ou realizar uma atualização em seu site. Esse é um dos motivos que sempre recomendamos utilizar um ambiente de testes para atualizações ou, pelo menos, realizar somente uma alteração desse tipo por vez. Do contrário, se você encontrar um erro interno do servidor 500, se verá lutando para descobrir qual foi sua causa.

Uma das formas de resolver o problema é desativar todos os seus plugins. Lembre-se: você não perderá nenhum dado se simplesmente desativar um plugin. Se ainda conseguir acessar seu painel de administração, uma maneira rápida de fazer isso é ir até a aba de “Plugins” e selecionar a opção “Desativar” no menu de ações em massa. Isso fará com que todos os plugins sejam desativados.

Desativar todos os plugins
Desativar todos os plugins

Se isso corrigir o problema, você precisará encontrar o culpado. Comece reativando-os um por um, recarregando as páginas do site a cada ativação. Quando você perceber que o erro interno do servidor 500 retornou, terá encontrado o plugin que está agindo de forma incorreta. Assim, poderá entrar em contato com o desenvolvedor do plugin ou publicar uma solicitação de suporte no repositório do WordPress.

Se você não conseguir fazer login no administrador do WordPress, você pode fazer FTP em seu servidor e renomear sua pasta de plugins para algo como plugins_old. Em seguida, verifique seu site novamente. Se funcionar, você terá que testar um plugin de cada vez. Renomeie a pasta novamente para “plugins” e renomeie também a pasta de cada plugin uma por uma, até encontrar o culpado. Você também pode tentar replicar essa ação no site de testes primeiro.

Renomeando a pasta de plugins
Renomeando a pasta de plugins

Sempre tenha certeza que seu plugins, temas e o núcleo do WordPress estejam atualizados. E faça uma verificação para garantir que você está executando uma versão suportada do PHP. Se descobrir que o problema se trata de um conflito com uma codificação ruim de um plugin, talvez você precise de um desenvolvedor WordPress para corrigir a questão.

6. Reinstale o Núcleo do WordPress

Por vezes, os arquivos do núcleo do WordPress podem se corromper, principalmente em sites mais antigos. É bastante fácil fazer novamente o upload apenas do núcleo do WordPress sem impactar seus plugins ou temas. Temos um guia aprofundado com cinco formas diferentes de reinstalar o WordPress. E, é claro, certifique-se de fazer um backup antes de seguir em frente. Veja uma das seções abaixo:

7. Verifique se há erro de permissões

Um erro de permissões em um arquivo ou pasta em seu servidor também pode causar um erro interno do servidor 500. Aqui estão as principais recomendações quando se trata de permissões para arquivos e pastas no WordPress:

  • Todos os arquivos devem ter permissão 644 (-rw-r–r–) ou 640.
  • Todos os diretórios devem ser permissão 755 (drwxr-xr-x) ou 750.
  • Nenhum diretório deve ter permissão 777, nem mesmo as pastas de uploads.
  • Aumento de segurança: o arquivo wp-config.php deve ter permissão 440 ou 400 para impedir que outros usuários do servidor possam fazer sua leitura.

Veja o artigo do WordPress Codex sobre alterar permissões de arquivos para obter uma explicação mais aprofundada.

Você pode visualizar as permissões de seus arquivos com facilidade com um cliente FTP (como pode ser visto abaixo). Também é possível contatar sua equipe de hospedagem e pedir que ela atribua rapidamente permissões GREP em suas pastas e arquivos para garantir que eles estejam configurados corretamente.

Permissões de arquivos SFTP
Permissões de arquivos SFTP

8. Aumente o limite de memória PHP

Um erro interno do servidor 500 também pode ser causado pela exaustão do limite de memória PHP em seu servidor. Você pode tentar aumentar esse limite. Siga as instruções abaixo para alterar esse valor no cPanel, Apache, seu arquivo php.ini e no arquivo wp-config.php.

Aumentar o Limite de Memória PHP no cPanel

Se sua hospedagem usa cPanel, você pode fazer essa alteração facilmente na sua interface de usuário. Na seção de Software, clique em “Selecionar Versão PHP” (“Select PHP Version”).

Selecionar versão PHP
Selecionar versão PHP

Clique em “Alterar Para Opções PHP” (“Switch to PHP Options”).

Alterar para opções PHP
Alterar para opções PHP

Em seguida, clique no atributo memory_limit e altere seu valor. Quando terminar, clique em “Salvar” (“Save”).

Aumentar limite de memória PHP no cPanel
Aumentar limite de memória PHP no cPanel

Aumentar o Limite de Memória PHP no Apache

O arquivo .htaccess é um arquivo oculto especial que contém diversas configurações que você pode utilizar para alterar o comportamento do servidor diretamente para um nível específico do diretório. Primeiro, faça login no seu site via FTP ou SSH, acesse o diretório raiz e verifique se o arquivo .htaccess está lá.

.htaccess file
.htaccess file

Se ele estiver lá, você poderá editá-lo e adicionar o código necessário para aumentar o limite de memória PHP. É provável que ele esteja definido para 64M ou menos. Você pode tentar aumentar esse valor com o código abaixo.

php_value memory_limit 128M

Aumentar o Limite de Memória PHP no Arquivo php.ini

Se os passos acima não funcionarem, você pode tentar editar seu arquivo php.ini Faça login no seu site via FTP ou SSH, acesse o diretório raiz e abra ou crie um arquivo php.ini.

php.ini file
Arquivo php.ini

Se o arquivo já estiver lá, pesquise pelas configurações e modifique-as conforme o necessário. Se você acabou de criar o arquivo ou não conseguiu localizar as configurações, você pode colar o código abaixo. Você pode modificar os valores para atender às suas necessidades.

memory_limit = 128M

Algumas hospedagens compartilhadas também podem exigir que você adicione a diretiva suPHP em seu arquivo .htaccess para que as configurações do arquivo php.ini acima funcionem. Para fazer isso, edite o .htaccess, também localizado na raiz do seu site, adicionando o seguinte código no topo do arquivo:

<IfModule mod_suphp.c> 
suPHP_ConfigPath /home/yourusername/public_html
</IfModule>

Se o código acima não funcionar com você, pode ser que sua hospedagem tenha as configurações globais bloqueadas e, em seu lugar, tenha configurado a utilização de arquivos  .user.ini Para editar seu arquivo .user.ini faça login no seu site via FTP ou SSH, acesse a pasta raiz e abra ou crie um arquivo .user.ini. Você poderá colar o seguinte código:

memory_limit = 128M

Aumentar o Limite de Memória PHP no wp-config.php

A última opção é uma das quais não somos muito fãs, mas se todo o resto falhar, vale a pena dar uma chance a ela. Primeiro, faça login no seu site via FTP ou SSH e localize seu arquivo wp-config.php, que costuma ficar na pasta raiz do seu site.

wp-config.php file
wp-config.php file

Adicione o seguinte código ao topo do seu arquivo wp-config.php:

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

Você também pode perguntar ao seu host se você está encontrando problemas de limite de memória. Utilizamos a ferramenta Kinsta APM e outros métodos de solução de problemas aqui na Kinsta para ajudar os clientes a restringir qual plugin, consulta ou script pode estar esgotando o limite. Você também pode usar sua própria chave personalizada New Relic a partir de sua própria licença.

Depuração com a New Relic
Depuração com a New Relic

9. Corrija seu arquivo .htaccess

A Kinsta usa somente Nginx, mas se você estiver em uma hospedagem que execute o Apache, pode ser que seu arquivo .htaccess tenha um problema ou esteja corrompido. Siga os passos abaixo para criar um novo arquivo partindo do zero.

Primeiro, faça login no seu site através de FTP ou SSH e renomeie seu arquivo .htaccess para .htaccess_old.

Renomeando o arquivo .htaccess
Renomeando o arquivo .htaccess

Normalmente, para recriar este arquivo, você pode simplesmente salvar seu links permanentes no WordPress. Entretanto, se você está enfrentado um erro interno do servidor 500, é bem provável que não consiga acessar seu painel no WordPress, portanto essa não é uma opção viável. Assim, você pode criar um novo arquivo .htaccess e inserir o conteúdo a seguir. Na sequência, basta fazer o upload para seu servidor.

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

Veja o WordPress Codex para mais exemplos, como um arquivo .htaccess padrão para multiste.

10. Resolva erros de codificação ou sintaxe em seu CGI/Perl Script

Erros 500 causados por erros na CGI e no Perl são muito menos comuns do que costumavam ser. Apesar disso, ainda valem a pena ser mencionados, especialmente para aqueles que usam cPanel onde há muitos scripts CGI com um clique ainda em uso. Conforme o AEM no Stack Overflow diz:

CGI vem sendo substituída por uma variedade de tecnologias de programação na web, incluindo PHP, diversas extensões Apache como mod_perl, Java de todos os tipos e frameworks que incluem Java EE, Struts, Spring e outros, frameworks baseados em Python, como Django, Ruby on Rails e muitos outros frameworks Ruby, além de várias tecnologias Microsoft.

Aqui estão algumas dicas para trabalhar com scripts CGI:

  • Quando estiver editando, sempre use um editor de texto simples, como Atom, Sublime ou Notepad++. Isso garante que tudo permaneça no formato ASCII.
  • Certifique-se de que as permissões corretas de chmod 755 sejam usadas nos scripts CGI e diretórios.
  • Faça o upload de seus scripts CGI no modo ASCII (que você pode selecionar no seu editor FTP) no diretório cgi-bin em seu servidor.
  • Confirme que os módulos Perl que você requisita para seu script estejam instalados e sejam suportados.

11. Verifique com seu anfitrião sobre os problemas do servidor

Por fim, como os erros internos do servidor 500 podem ocorrer pelo tempo limite do PHP ou por erros fatais do PHP com plugins de terceiros, você sempre pode fazer uma verificação com sua hospedagem. Algumas vezes, esses erros podem dificultar a resolução de problemas se não houver um especialista. Aqui estão alguns exemplos comuns de erros que podem desencadear códigos de estado HTTP 500 no servidor e que podem te deixar coçando a cabeça.

PHP message: PHP Fatal error: Uncaught Error: Call to undefined function mysql_error()...
PHP message: PHP Fatal error: Uncaught Error: Cannot use object of type WP_Error as array in /www/folder/web/shared/content/plugins/plugin/functions.php:525

Monitoramos todos os sites dos clientes aqui na Kinsta e eles são automaticamente notificados quando esse tipo de erro ocorre. Isso permite que sejamos proativos e possamos começar a correção imediatamente. Também utilizamos hospedagens gerenciadas LXD e containers de software LXC orquestrados para cada site. Isso significa que cada site é alojado em seu próprio container isolado, que possui todos os recursos de software necessários para executá-lo (Linux, Nginx, PHP, MySQL). Os recursos são 100% privados e não são compartilhados com mais ninguém, nem mesmo com seus demais sites.

O tempo limite de PHP também pode ocorrer pela falta de PHP Workers, apesar deste fato geralmente ocasionar erros 504 ao invés de erros 500. Eles determinam quantas solicitações simultâneas seu site pode lidar a qualquer momento. Para colocar de forma simples, cada solicitação sem cache para seu website é atendida por um PHP Worker.

Quando os PHP Workers já estão ocupados em um site, eles começam a criar uma fila. Quando você atinge seu limite de PHP Workers, a fila começa a empurrar as solicitações mais velhas para fora, o que pode resultar no erro 500 ou em solicitações incompletas. Leia nosso artigo detalhado sobre PHP Workers.

Monitore seu Site

Se você estiver preocupado com que esses tipos de erros possam acontecer com seu site no futuro, pode utilizar uma ferramenta como o updown.io para monitorar e notificar você imediatamente quando eles ocorrem. Essa ferramenta envia periodicamente uma solicitação HTTP HEAD para a URL que você define. Pode ser simplesmente sua página inicial, por exemplo. Ela permite que você escolha as frequências de verificação para:

  • 15 segundos
  • 30 segundos
  • 1 minuto
  • 2 minutos
  • 5 minutos
  • 10 minutos

Ela enviará um e-mail para você quando/se seu site sair do ar. Aqui está um exemplo.

Notificação por e-mail do erro 500
Notificação por e-mail do erro 500

Ela pode ser especialmente útil se você estiver tentando depurar um plugin com problemas ou se estiver numa hospedagem compartilhada que possui tendência a sobrecarregar os servidores. Isso pode oferecer provas sobre a frequência em que seu site fica fora do ar (mesmo que seja no meio da madrugada).

É por isso que sempre recomendamos usar apenas uma hospedagem de aplicativos, hospedagem de banco de dados e hospedagem de Gerenciada de WordPress (como a Kinsta).

Certifique-se de conferir nosso artigo que explora as 9 principais razões para escolher a hospedagem gerenciada de WordPress.

Resumo

Erros internos do servidor 500 são sempre frustrantes, mas esperamos que agora você saiba algumas formas de resolver o problema de forma rápida para colocar seu site rapidamente no ar de novo. Lembre-se: esses tipos de erros costumam ser causados por plugins de terceiros, erros fatais do PHP, problemas de conexão com o banco de dados, problemas com seu arquivo .htaccess ou limites de memória do PHP, sendo algumas vezes causados também por tempo limite do PHP.

Esquecemos de algo? Talvez você tenha outra dica sobre como resolver os erros internos do servidor 500. Se for o caso, compartilhe conosco na seção de comentários abaixo.

Brian Jackson

Brian tem uma enorme paixão pelo WordPress, e tem utilizado há mais de uma década e até desenvolve alguns plugins premium. Brian gosta de blogs, filmes e caminhadas. Conecte-se com Brian no Twitter.