Problema: Apache exibindo código PHP
Às vezes, quando o Apache serve arquivos PHP, ele mostra o código PHP bruto em vez de executá-lo. Esse problema impede que sites e aplicativos baseados em PHP funcionem corretamente. Vários problemas de configuração ou partes ausentes na configuração do servidor podem causar esse problema.
Possíveis causas para o Apache não executar PHP
Problemas de configuração do Apache
O Apache pode não executar código PHP devido a problemas de configuração. Um módulo PHP ausente pode impedir que o Apache processe arquivos PHP. Se o módulo PHP estiver presente, mas não for carregado corretamente, o Apache não reconhecerá o código PHP. Associações de arquivos incorretas também podem fazer com que o Apache trate arquivos PHP como texto simples em vez de scripts.
Dica: Verifique a configuração do Apache
Para verificar se o Apache está configurado corretamente para lidar com PHP, procure a seguinte linha no seu arquivo de configuração do Apache (geralmente httpd.conf ou apache2.conf):
LoadModule php_module modules/libphp.so
Certifique-se de que esta linha não esteja comentada e que o caminho para o módulo PHP esteja correto.
Problemas de instalação do PHP
Problemas com a instalação do PHP podem levar a problemas de execução. Uma configuração incompleta do PHP pode resultar em componentes ausentes necessários para o funcionamento adequado. Usar uma versão do PHP que não corresponda à sua instalação do Apache pode causar conflitos. Um arquivo php.ini mal configurado pode impedir que o Apache reconheça ou execute o código PHP corretamente.
Soluções para problemas de execução do PHP no Apache
Verificando o módulo PHP do Apache
Para corrigir problemas de execução do PHP no Apache, verifique a configuração do Apache para o módulo PHP. Procure uma linha que carregue o módulo PHP, como LoadModule php_module modules/libphp.so
. Certifique-se de que esta linha não esteja comentada e que o caminho para o módulo esteja correto. Se o módulo estiver ausente, pode ser necessário instalá-lo ou atualizar sua configuração do Apache.
Verifique se o caminho do módulo está correto. O caminho deve apontar para o local de instalação do PHP. Se você não tiver certeza sobre o caminho correto, consulte a documentação de instalação do PHP ou use o comando whereis php
em sistemas baseados em Unix para encontrar os arquivos PHP.
Para confirmar a ativação do módulo, reinicie o Apache e verifique os logs de erro em busca de mensagens relacionadas ao carregamento do módulo PHP. Se não houver erros, o módulo deve estar ativo.
Dica: Verifique o módulo PHP com phpinfo()
Crie um arquivo PHP com a função phpinfo() para verificar se o PHP está funcionando corretamente:
<?php
phpinfo();
?>
Salve isso como info.php no diretório raiz da web e acesse-o através do seu navegador. Se você vir a página de configuração do PHP, o módulo está funcionando.
Configurando o Apache para lidar com arquivos PHP
Adicione o tipo MIME correto para PHP incluindo esta linha na sua configuração do Apache:
AddType application/x-httpd-php .php
Isso diz ao Apache para tratar arquivos com a extensão .php como scripts PHP.
Configure as extensões de arquivo adicionando quaisquer outras extensões que você deseja que o Apache trate como arquivos PHP. Por exemplo:
AddType application/x-httpd-php .php .phtml
Depois de fazer essas alterações, reinicie o Apache para aplicar a nova configuração. Na maioria dos sistemas, você pode fazer isso com o comando sudo service apache2 restart
ou sudo systemctl restart apache2
.
Solucionando problemas de instalação do PHP
Confirme se o PHP está instalado executando php -v
na linha de comando. Este comando mostra a versão do PHP e detalhes da instalação. Se não funcionar, o PHP pode não estar instalado ou não estar no PATH do seu sistema.
Verifique a compatibilidade da versão do PHP com sua instalação do Apache. Certifique-se de estar usando uma versão do PHP que funcione com sua versão do Apache. Verifique a documentação do Apache e do PHP para encontrar versões compatíveis.
Revise suas configurações do php.ini para garantir que o PHP esteja configurado corretamente. Procure configurações como display_errors
e error_reporting
para ajudar a diagnosticar quaisquer problemas relacionados ao PHP. Você pode encontrar a localização do seu arquivo php.ini executando php --ini
na linha de comando.