Post actualizado el día October 12, 2026 by DeiviSanzPlay
Se você montou um servidor local com XAMPP e, ao abrir seu arquivo .php no navegador, vê o código bruto ou uma tela em branco, você não está sozinho. O erro do XAMPP ao executar PHP é um dos mais repetidos em fóruns como Stack Overflow ou Reddit, e quase sempre se deve a três coisas: Apache parado, porta ocupada ou arquivos mal localizados. Vou te contar sem rodeios e com o que realmente funcionou para mim.
Por que o XAMPP não interpreta PHP: causas reais
A primeira coisa que você precisa entender é que o XAMPP não executa PHP sozinho. O Apache é quem se encarrega de passar o arquivo para o interpretador de PHP. Se o Apache não estiver rodando, seu navegador mostrará o arquivo como texto simples ou um erro de conexão. Não há mais mistério.
A segunda causa típica é que você tenha salvado o arquivo fora da pasta htdocs. O XAMPP só serve os arquivos que estão dentro de C:xampphtdocs no Windows ou /opt/lampp/htdocs no Linux. Se você o tem na Área de Trabalho, ele jamais será executado.
E a terceira: a porta 80 está ocupada por outro programa (Skype, IIS, VMware, ou até mesmo o serviço “World Wide Web Publishing”). Quando o Apache não consegue se conectar à porta, ele cai e o PHP para de funcionar sem que você perceba.
Verificar o Apache e a porta 80 em dois minutos
Abra o Painel de Controle do XAMPP. Se o Apache aparecer em vermelho ou com uma mensagem de erro, clique em Start e observe o console. Se disser algo como “Apache shutdown unexpectedly”, o problema é a porta.
Para tirar as dúvidas, abra o prompt de comando e digite:
netstat -ano | findstr :80
Se aparecer um PID, esse processo está consumindo a porta 80. Você pode encerrá-lo pelo Gerenciador de Tarefas ou alterar a porta do Apache. Para alterá-la, edite httpd.conf (em xampp/apache/conf/) e substitua Listen 80 por Listen 8080. Depois acesse http://localhost:8080. Atenção: se você alterar a porta, também precisará mexer em httpd-ssl.conf para a 443.
Erros de PHP em servidor local: revise o php.ini e as extensões
Se o Apache inicia bem, mas seu script PHP dá erro 500 ou não mostra nada, o problema geralmente está no php.ini. Há dois ajustes que as pessoas esquecem e que quebram qualquer projeto:
- display_errors: coloque em On enquanto desenvolve. Assim você verá o erro real na tela em vez de uma página em branco.
- extension_dir: certifique-se de que aponta para a pasta ext correta. Se estiver errada, extensões como mysqli ou gd não carregam e seu código falha.
Também verifique se você não tem duas versões de PHP instaladas (uma do XAMPP e outra do sistema). No Windows, se você tem PHP no PATH, pode ser que o navegador esteja usando a do sistema e não a do XAMPP. Solução: remova o PHP do PATH ou configure o XAMPP para usar seu próprio binário.
Permissões e caminhos: a falha silenciosa no Linux
No Ubuntu ou Debian, o erro do XAMPP ao executar PHP geralmente vem de permissões. Se você copiou seu projeto para /opt/lampp/htdocs com sudo, os arquivos ficam como root e o Apache (que roda como nobody ou daemon) não consegue lê-los. Resultado: erro 403 ou página em branco.
A solução rápida é alterar o proprietário:
sudo chown -R seu_usuario:seu_usuario /opt/lampp/htdocs/seu_projeto
E se necessário, ajuste as permissões com chmod -R 755. Não coloque 777 por preguiça, isso é uma brecha de segurança mesmo em local.
O MySQL também influencia: quando o PHP não conecta ao banco de dados
Muitos confundem “PHP não funciona” com “PHP não conecta ao MySQL”. Se seu script faz uma conexão e você vê um erro do tipo “Access denied for user ‘root’@’localhost'”, o problema não é o PHP, é o MySQL. Verifique se o serviço MySQL está em verde no painel do XAMPP e se as credenciais no seu código coincidem (por padrão, usuário root sem senha).
Se o MySQL não iniciar, veja os logs em xampp/mysql/data/mysql_error.log. Uma falha clássica é a corrupção de ib_logfile0 e ib_logfile1. Apague-os (com o MySQL parado) e inicie novamente. Outra opção é restaurar ibdata1 a partir de um backup.
Erros comuns com XAMPP e PHP que as pessoas relatam diariamente
Estes são os que vejo repetidamente no suporte:
- Erro 404: o arquivo não está em htdocs ou a URL está mal escrita. Verifique maiúsculas e minúsculas, no Linux elas importam.
- “localhost refused to connect”: Apache parado ou porta bloqueada. Use netstat para confirmar.
- “Cannot create file xampp-control.ini”: execute o XAMPP como administrador. É um problema de permissões no Windows.
- PHP é exibido como texto: quase sempre é porque você abriu o arquivo com file:// em vez de http://localhost/. Use sempre a URL local.
Reinstalar ou trocar a versão do PHP: quando vale a pena
Se depois de tudo você ainda tem o erro do XAMPP ao executar PHP, considere que a versão do XAMPP seja muito antiga para o seu sistema operacional. Em 2026, o XAMPP já está em versões com PHP 8.2 ou superior. Se você tem uma versão de 2019, está perdendo compatibilidade com frameworks atuais.
Meu conselho: baixe a última versão do site oficial do Apache Friends e faça uma instalação limpa. Antes, exporte seus bancos de dados e copie seus projetos de htdocs. Reinstalar não é desistir, é economizar horas de brigar com configurações quebradas.
E um detalhe que quase ninguém menciona: se você usa Windows 11 com virtualização ativada (Hyper-V, WSL2), às vezes o XAMPP entra em conflito com a porta 80. A solução mais limpa é mudar o Apache para a 8080 e deixar a 80 para o que o Windows quiser. Não é o ideal, mas funciona.
No final, 90% das falhas de PHP no XAMPP se resolvem com três verificações: Apache rodando, arquivo em htdocs e porta livre. Os outros 10% são permissões, extensões mal carregadas ou versões incompatíveis. Com isso você deveria ter seu servidor local funcionando em menos tempo do que leva para ler este artigo.