O erro 500 (Internal Server Error) indica uma dificuldade no processamento do servidor que pode ocorrer por diversos fatores. Confira alguns motivos:
- Permissões incorretas
- Problemas no arquivo .htaccess
- Consumo de recursos do servidor
- Limite da memória PHP
- Conflito entre versões PHP
- Erro em plugins
Permissões incorretas
Por padrão, as permissões devem estar com o valor 644 para arquivos e 755 para pastas.
Caso tenha enviado um novo arquivo, pasta ou tenha feito uma nova instalação, verifique se as permissões estão conforme o padrão.
Entenda como funciona e saiba como alterar permissões de arquivos e/ou pastas
Problemas no arquivo .htaccess
Caso tenha editado o arquivo .htaccess, alguma ação pode ter adicionado automaticamente linhas conflitantes. Por esse motivo, verifique se as linhas inseridas estão corretas.
Para verificar, é possível inserir o símbolo # no começo da linha, por exemplo:
Antes
DirectoryIndex default.html
AddType application/x-httpd-php7 php
Depois
DirectoryIndex default.html
#AddType application/x-httpd-php7 php
Também é possível renomear o arquivo, dessa forma ele será anulado. Caso o site volte a acessar, após realizar essa ação, o erro estará no arquivo .htaccess
Consumo de recursos do servidor
O uso da CPU representa a quantidade de tarefas e processos que estão sendo executados no servidor, em um determinado momento.
Como por exemplo, se o número de visitas em um site não for compatível com o limite de memória da CPU, ou então se o site for mal otimizado, poderá ocorrer o Erro 500.
Caso seja um usuário avançado, é possível encerrar os processos no acesso shell (SSH) :
- Digite o comando ps faux
Também é possível visualizar os processos que estão rodando a partir de um usuário especifico:
- Digite o comando ps faux |grep nome-do-usuário
- Após obter o ID do processo (pid), para encerrar digite kill -9 ID-do-processo
Limite da memória PHP
Por padrão, em hospedagens compartilhadas, é setado no arquivo php.ini ou .user.ini, o limite de memória de 64MB, que pode ser aumentado até 256MB.
Para alterar esse valor, acesse o arquivo php.ini ou .user.ini, e depois edite a linha para memory_limit = 256MB
Conflito entre versões PHP
Verifique se há mais de um arquivo php.ini ou .user.ini, ambos os arquivos no mesmo diretório podem gerar conflitos.
É possível também que no arquivo .htaccess esteja informando duas versões distintas do PHP e isso causará o erro 500.
Erro em plugins
Incompatibilidades entre plugins e/ou atualizações automáticas são erros muito comuns, principalmente para usuários do WordPress.
Uma forma de corrigir esse erro seria desabilitar todos os plugins e os reativar um por vez, para saber qual o plugin que esta causando o erro.