Como resolver HTTP Erro 500

Post Thumbnail

Você está lidando com o erro 500 durante o desenvolvimento do seu site ou está tentando acessar um site que está com esse erro? Saiba que é bem comum de acontecer, porém seu motivo pode ser bem variável, por isso, reuni nesse post os principais motivos que podem estar te causando essa dor de cabeça e como corrigi-los.

O que é o Erro 500?

O erro 500 basicamente aponta para um problema relacionado ao servidor interno onde o site está hospedado. Podendo ser um problema de rotas, caminhos ou erros no próprio código ou serviço de hospedagem. 

O que causa o Erro 500?

O motivo mais falado é o famoso .htaccess corrompido, ou um tema ou plugin que não está funcionando direito ou simplesmente não é compatível, porém cada caso é diferente e vou listar todos os que conheço. 

1. Plugins e temas defeituosos ou incompatíveis

Caso você tenha recém instalado um plugin no seu Wordpress, pode ser que ele esteja causando o problema. Tente desativá-lo, limpe o cache do seu site e abra-o novamente, caso o problema não seja corrigido, tente voltar os mesmos para uma versão abaixo onde não ocorria o erro. 

2. Verifique o arquivo .htaccess 

As vezes acontece do seu arquivo .htaccess se encontrar corrompido por alterações realizadas por plugins ou pelo próprio código do site. Para corrigir isso, basta criar um novo arquivo e deletar o antigo. 

RewriteEngine On  
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]  
RewriteBase / 
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d  
RewriteRule . /index.php [L] 

Copie este código para dentro do novo arquivo .htaccess criado!

3. Verifique sua versão do PHP

Caso seu projeto esteja funcionando normalmente no seu servidor local, porém quando você foi fazer o deploy se deparou com o supracitado, a solução pode estar na versão do PHP, veja a que você estava utilizando localmente e mude-a na sua hospedagem. 

4. Aumente os limites do PHP

Ainda no PHP, pode parecer bobo, porém tente aumentar o limite de memória e execução do seu PHP, pois pode ser que seu projeto esteja precisando de mais potência ou mais tempo para fazer os cálculos. 

Você pode aumenta-los no arquivo .htaccess ou pela sua hospedagem, normalmente se encontra em um local diferente em cada uma. 

php_value upload_max_filesize 128M 
	php_value post_max_size 128M 
	php_value max_execution_time 300 
	php_value max_input_time 300  
	php_value memory_limit 256M 

É só ajustar os valores de acordo com o que você acha que seu projeto consome e ser feliz, apenas tome cuidado para não exagerar, pois pode causar problemas de desempenho no servidor. 😊

5. Verifique os caminhos do seu projeto 

O erro 500 pode ser ocasionado por erros e caminhos sem apontamento correto, então não deixe de verificar se seus caminhos para arquivos não estejam dando em lugar nenhum, e leve em consideração como o sistema da sua hospedagem funciona (Pssiu, A maioria usa a pasta /raiz como referência de apontamento).

6. Limpe o cache e cookies do navegador

As vezes pode ser apenas o seu navegador que ainda está vivendo no passado, então caso ainda continue tendo o erro 500, tente limpar o cache e cookies do seu navegador e recarregar a página.  

7. Ative a exibição de erros do PHP

Caso tenha desativado o aparecimento de erros enquanto desenvolvia, é uma boa ativá-lo novamente nesse caso, pois ele provavelmente vai te dar grandes dicas de onde está o problema. Aqui vai um código para te ajudar! Apenas adicione-o no início do seu script. 

<?php error_reporting(E_ALL); ini_set(“display_errors”, 1); ?> 

8. Verifique o arquivo .env

Caso seu projeto tenha um arquivo responsável pela configuração e conexão com o servidor, tente verificar se o arquivo não está corrompido ou com alguma informação faltando ou incompleta. Verifique também se o servidor no qual o projeto está hospedado tem as permissões necessárias para ler o arquivo corretamente.

Gostou das dicas? não deixe de conferir as outras postagens, tenho certeza de que serão úteis para você como desenvolvedor.