O Apache2 não serve scripts PHP corretamente

4

Eu me deparei com um problema com a minha configuração do Apache 2.2.16, rodando no Debian Squeeze. O problema é que ele parou de servir scripts PHP5 completamente. Quando tento acessar os sites com o Google Chrome, ele faz o download de um arquivo chamado "download", que contém o conteúdo do script. Isso obviamente não é uma coisa boa. Ele serve arquivos html comuns perfeitamente ...

Eu estive nisso por um bom tempo agora, e depois de todo o googling e solução de problemas, eu pensei que seria um bom momento para perguntar a vocês. Aqui está o que eu tenho:

  1. Os pacotes php5 e libapache2-mod-php5 estão instalados
  2. O / etc / apache2 / mods-available contém o php5.load e o php5.conf, e estes são links simbólicos do diretório mods-enabled
  3. O diretório / etc / php5 / é deixado intacto desde a instalação.

Aqui está o conteúdo do /etc/apache2/mods-available/php.load:

LoadModule php5_module /usr/lib/apache2/modules/libphp5.so

E /etc/apache2/mods-available/php.conf:

<IfModule mod_php5.c>
    <FilesMatch "\.ph(p3?|tml)$">
        SetHandler application/x-httpd-php
    </FilesMatch>
    <FilesMatch "\.phps$">
        SetHandler application/x-httpd-php-source
    </FilesMatch>
    <IfModule mod_userdir.c>
        <Directory /home/*/public_html>
            php_admin_value engine Off
        </Directory>
    </IfModule>
</IfModule>

O que estou perdendo? Este é um servidor com hosts virtuais modificados e afins, portanto, eu poderia ter alterado algumas configurações que causam esse problema, mas simplesmente remover e reinstalar não é uma opção até agora, já que a configuração é bastante extensa. Qualquer ajuda seria ótimo. Obrigado.

Edit: Estou tentando acessar os scripts em execução nos hosts virtuais do apache, em / var / www /. A configuração para quem está assim é:

<VirtualHost 1.2.3.4:80>
        ServerAdmin [email protected]
        ServerName domain.com
        ServerAlias www.domain.com
        DocumentRoot /var/www/domain.com/public_html/
        ErrorLog /var/www/domain.com/logs/error.log
        CustomLog /var/www/domain.com/logs/access.log combined
        Options -indexes
</VirtualHost>
    
por cmbrnt 26.02.2011 / 13:41

2 respostas

1

Você pode tentar remover toda a configuração php_admin_value engine Off , talvez esteja correspondendo inesperadamente aos scripts. O FilesMatch faz correspondência insensível a maiúsculas e minúsculas? Talvez verifique a sintaxe dos seus regexps?

Como o php.conf está sendo carregado? Verifique novamente se está sendo carregado corretamente.

    
por 27.02.2011 / 05:51
0

De onde você está tentando acessar o script php? Eu estou supondo em algum lugar em / home / * / public_html?

Acredito que o mecanismo php_admin_value Off desativará o valor do mecanismo em php.ini .. e pelas comendas do php.ini, ele deve estar em:

; Enable the PHP scripting language engine under Apache.
engine = On

O que acontece se você mudar     Mecanismo php_admin_value Off para     Mecanismo php_admin_value ativado

    
por 26.02.2011 / 17:30