Algumas vezes o Apache exibe o código-fonte do PHP

1

Eu tenho um problema bastante estranho com o meu servidor Apache.

Eu tenho dois arquivos contendo <?php phpinfo(); ?> . Ambos são colocados no mesmo servidor, porém em diferentes vhosts. Os vhosts são assim:

Primeiro:

<VirtualHost *:80>
        DocumentRoot /var/www/[...]/public_html
        ServerName something
        <Directory />
                AllowOverride All
        </Directory>
</VirtualHost>

Segundo:

<VirtualHost *:80>
        DocumentRoot /var/www/[...]/public_html
        ServerName something
        ServerAlias something

        <Directory />
                AllowOverride All
        </Directory>
</VirtualHost>

Como você vê, eles são quase iguais. No entanto, se eu apontar para o phpinfo.php no segundo vhost, a origem é enviada para o cliente. No primeiro, o phpinfo é executado e mostrado ao usuário com sucesso.

O que pode causar essa diferença?

    
por phidah 25.10.2009 / 10:54

3 respostas

4
  • Tem certeza de que os dois arquivos terminam em .php ?

  • Você está usando <? e não <?php em uma das fontes?

  • Mesmo que você diga que não há arquivo .htaccess que não funcione você se importaria em colar o conteúdo dele?

  • Tente reverter a ordem dos hosts virtuais para ver se alguma coisa muda.

  • Tente uma vez sem diretivas de diretórios extras.

por 25.10.2009 / 18:00
3

"AllowOverride All" significa que qualquer configuração do apache pode ser sobrescrita por um arquivo .htaccess no DocumentRoot de cada vhost (ou em um subdiretório do DocumentRoot). Verifique se as configurações do seu php estão configuradas lá.

    
por 25.10.2009 / 11:10
0

Você acha que pode postar as configurações completas do servidor?

Quais são os nomes dos arquivos dos dois arquivos?

Eu também me atreveria a adivinhar que um arquivo .htaccess está lá, mas sem ver os outros arquivos de configuração, não podemos dizer com certeza.

    
por 25.10.2009 / 17:35