O temido erro 500 Internal Server. 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 500 Internal Server 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 significa o erro 500 Internal Server?

A Internet Engineering Task Force (IETF) define o erro 500 Internal Server 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 site, 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 status HTTP. Um código de status é uma forma de notificar você sobre a situação da solicitação. Ele pode ser um código de status 200, que significa que “está tudo ok” ou um código de status 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 500 Internal Server

Erro interno do servidor 500 no WordPress
Erro 500 Internal Server no WordPress.

Devido aos diversos servidores web, sistemas operacionais e tipos de navegadores, um erro 500 Internal Server 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 500 Internal Server, 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 500 Internal Server, como é o caso do Airbnb.

Erro interno do servidor 500 - Airbnb
Erro 500 Internal Server – Airbnb.

Aqui está outro exemplo criativo do erro 500 Internal Server da readme.

Erro Interno do Servidor 500 – readme
Erro 500 Internal Server – 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 500 Internal Server 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 desabilitado 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 500 Internal Server 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 500 Internal Server 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 500 Internal Server é 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 status 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 500 Internal Server.

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 status 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 frontend 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 artigo 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 500 Internal Server, 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 controle, 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 500 Internal Server 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 detalhado 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 500 Internal Server. 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 detalhada.

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 500 Internal Server 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.

Aumente 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 “Select PHP Version”.

Selecionar versão PHP
Selecionar versão PHP

Clique em “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 “Save”.

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

Aumente 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

Aumente 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

Aumente 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
Arquivo wp-config.php.

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 permalink no WordPress. Entretanto, se você está enfrentado um erro 500 Internal Server, é 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 o 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 o seu script estejam instalados e sejam suportados.

11. Verifique com seu um provedor de hospedagem 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 contêineres de software LXC orquestrados para cada site. Isso significa que cada site é hospedado em seu próprio contêiner 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 do PHP pode também acontecer se não houver PHP Workers suficientes, embora isso normalmente cause erros 504 e não erros 500. Os PHP Workers são responsáveis por quantas solicitações ao seu site podem ser processadas ao mesmo tempo. De forma simples, cada vez que alguém acessa uma parte do seu site que não está em cache, um PHP Worker entra em ação.

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, essa fila começa a descartar as solicitações mais antigas, o que pode levar a erros 500 ou até mesmo a solicitações que não são completadas. Para mais informações, confira 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 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.