O Apache não está interpretando arquivos .PHP

3

Eu baixei recentemente o OpenSUSE OS versão 11.4 do site para usá-lo como um servidor ... Para fazer isso eu baixei a edição do servidor que tem o Apache / 2.2.17 e PHP5 baixado por padrão ..... Ok até agora está tudo bem

Agora eu iniciei o Apache com sucesso e coloquei um arquivo test.php no diretório documentRoot. test.php contém apenas <?php phpinfo() ?>

Em seguida, usando meu navegador, digitei http://localhost/test.php e aqui estava o problema o navegador não exibiu o que phpinfo() deve exibir, em vez disso, ele me perguntou se eu queria abrir ou salvar o test.php ... o que está me deixando louco .... Eu pesquisei muito, mas nenhuma solução

Isso é /etc/apache2/conf.d/php5.conf

<IfModule mod_php5.c>
    AddHandler application/x-httpd-php .php4
    AddHandler application/x-httpd-php .php5
    AddHandler application/x-httpd-php .php
    AddHandler application/x-httpd-php-source .php4s
    AddHandler application/x-httpd-php-source .php5s
    AddHandler application/x-httpd-php-source .phps
    DirectoryIndex index.php4
    DirectoryIndex index.php5
    DirectoryIndex index.php
</IfModule>
    
por Ala ABUDEEB 04.07.2011 / 19:55

8 respostas

4

Uma coisa que vale a pena tentar é verificar se o seu projeto não está em um diretório do usuário (pasta public_html), ou se a configuração em php5.conf (/etc/apache2/mods-available/php5.conf para alguma configuração) permite tal interpretação.

<IfModule mod_php5.c>
    <FilesMatch "\.ph(p3?|tml)$">
    SetHandler application/x-httpd-php
    </FilesMatch>
    <FilesMatch "\.phps$">
    SetHandler application/x-httpd-php-source
    </FilesMatch>
    # To re-enable php in user directories comment the following lines
    # (from <IfModule ...> to </IfModule>.) Do NOT set it to On as it
    # prevents .htaccess files from disabling it.
    #<IfModule mod_userdir.c>
    #    <Directory /home/*/public_html>
    #        php_admin_value engine Off
    #    </Directory>
    #</IfModule>
</IfModule>
    
por 28.10.2012 / 15:40
2

Você pode verificar o que há dentro

nano /etc/apache2/mods-available/php5.conf

você também pode conferir

sudo dpkg -S php5 | grep libapache2-mod-php5 

que mostra se você tem o php5.conf em mods-enabled

Eu cheguei lá:

<FilesMatch ".+\.ph(p[345]?|t|tml)$">
    SetHandler application/x-httpd-php
</FilesMatch>

Observe que este regexp corresponde a .php5, mas por algum motivo não pôde corresponder a .php.

Solução

apt-get remove libapache2-mod-php5 ; apt-get purge libapache2-mod-php5; apt-get install libapache2-mod-php5

depois abra

nano /etc/apache2/mods-enabled/php5.conf 
  1. e substitua

    <FilesMatch ".+\.ph(p[345]?|t|tml)$">
    

    com

    <FilesMatch ".+\.ph((p[345]?)|t|tml)$">
    
  2. ou simplesmente executar

    sudo perl -pe 's|\Q.ph(p[345]?\E|.ph((p[345]?)| if $. <= 3'  /etc/apache2/mods-available/php5.conf
    

e reinicie o apache

sudo service apache2 restart
    
por 26.05.2014 / 14:47
1

Dê uma olhada na documentação do PHP e verifique se a configuração está correta

link

Isso deve estar no seu httpd.conf

LoadModule php5_module modules/libphp5.so

<FilesMatch \.php$>
    SetHandler application/x-httpd-php
</FilesMatch>
    
por 04.07.2011 / 20:05
0

parece que o mod_php5 está desabilitado de alguma forma

tente (como root)

a2enmod php5
service apache2 restart

Em seguida, tente acessar as páginas novamente

    
por 04.07.2011 / 20:18
0

os módulos do apache em suse / opensuse estão habilitados em / etc / sysconfig / apache2, incluem o módulo php onde necessário, executam o SuSEconfig e reiniciam o serviço apache2:)

link :

    
por 04.09.2012 / 17:02
0

Eu criei a seguinte solução para o mesmo problema. Altere a seguinte diretiva em /etc/httpd/conf/httpd.conf. Eu ainda preciso entender por que isso mudou o comportamento do Apache, mas funcionou para mim.

Altere isto:

<Directory />
  Options FollowSymLinks
  AllowOverride None
</Directory>

Para isso:

<Directory />
  Options None
  AllowOverride None
</Directory>
    
por 21.02.2013 / 22:34
0

Eu adicionei php5 a uma linha que começa com APACHE_MODULES="actions alias auth_basic authn_file authz_host authz_groupfile authz_user autoindex cgi dir env expires include log_config mime negotiation setenvif ssl userdir reqtimeout authn_core authz_core" at /etc/sysconfig/apache2 .

    
por 01.07.2014 / 22:10
0

Provavelmente você não tem o apache2-mod_php instalado. Tente zypper install apache2-mod_php5 ou o nome do pacote zypper search apache | grep php que você mostra.

    
por 29.05.2015 / 14:37