Suas ideias em realidade digital!
Se ao acessar um site você já se deparou com mensagens como Erro 500 – Internal Server Error ou Erro 404 – Página não encontrada, saiba que esses são dois dos problemas mais comuns em sites PHP.
Neste guia completo, você vai entender o que causa esses erros, como identificar a origem e como corrigir passo a passo, mesmo em sites PHP puro.
O erro 500 indica que o servidor encontrou um problema interno ao tentar processar a requisição. Em sites PHP, isso normalmente significa que algum script falhou, mas o servidor não conseguiu informar exatamente o motivo ao navegador.
Diferente de outros erros, o 500 não aponta diretamente a causa, o que torna o diagnóstico fundamental.
Um simples ponto e vírgula faltando, uma função inexistente ou um include incorreto pode gerar erro 500.
Permissões erradas impedem o servidor de executar scripts PHP corretamente.
Uma regra mal escrita no arquivo .htaccess pode derrubar todo o site.
Hospedagens compartilhadas costumam bloquear funções como exec, shell_exec ou ini_set.
Scripts muito pesados podem exceder os limites configurados no servidor.
Use temporariamente no início do script:
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
Atenção: nunca deixe essa configuração ativa em produção.
Os logs mostram exatamente o que está quebrando.
/var/log/apache2/error.log
Crie um arquivo teste.php:
Se nem isso funcionar, o problema está no servidor ou na configuração.
chmod 755 pasta
chmod 644 arquivo.php
O erro 404 acontece quando o servidor está funcionando corretamente, mas o arquivo ou rota solicitada não existe.
Ele é comum em URLs digitadas incorretamente, links quebrados ou rotas mal configuradas.
Em servidores Linux, diferença entre letras maiúsculas e minúsculas importa:
/Pagina.php
/pagina.php
O RewriteEngine pode não estar funcionando corretamente.
O link aponta para um recurso que nunca foi criado ou foi removido.
Teste acessando diretamente:
https://site.com.br/arquivo.php
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php [L]
Prefira caminhos absolutos:
require $_SERVER['DOCUMENT_ROOT'] . '/config.php';
| Erro | Significado |
|---|---|
| 500 | Erro interno no servidor |
| 404 | Página ou recurso não encontrado |
Se o problema for acesso negado, veja também como resolver o erro 403 Forbidden em PHP. Erro 403 Forbidden em sites PHP: o que é e como resolver
Os erros 500 e 404 são comuns em sites PHP, mas raramente são problemas graves quando diagnosticados corretamente.
Com acesso aos logs, boas práticas de configuração e atenção aos detalhes, é possível resolver esses erros rapidamente e evitar que eles se repitam, garantindo estabilidade e uma boa experiência para o usuário.