O Apache não executa arquivos PHP, mas faz com que eu faça o download deles

14

Então eu configurei meu servidor usando este tutorial, e quando o arquivo test.php funciona sem nenhum problema quando eu digito o endereço usando o IP do meu servidor como

http://1.2.3.4/test.php

No entanto, se eu usar virtualhosts, o navegador apenas oferece o download do arquivo em vez de executá-lo. Então isso:

http://blog.mydomain.com/test.php

se oferece para baixar o arquivo em vez de executar o script.

O código que eu uso em /etc/apache2/apache2.conf para hosts virtuais é o seguinte:

Include /etc/phpmyadmin/apache.conf
Include /etc/apache2/mods-available/php5.conf

<VirtualHost *:80>
    DocumentRoot /path/to/vhosts/folder1
    ServerName www.mydomain.com
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot /path/to/vhosts/folder2
    ServerName blog.mydomain.com
</VirtualHost>

NameVirtualHost *:80

Embora eu tenha que dizer que quando eu reiniciar o servidor apache2, recebo uma mensagem de aviso:

[....] Restarting web server: apache2
[Sun Jan 19 13:33:40 2014] [warn] NameVirtualHost *:80 has no VirtualHosts ... waiting [Sun Jan 19 13:33:41 2014] [warn] NameVirtualHost *:80 has no VirtualHosts
    
por The Quantum Physicist 19.01.2014 / 14:18

5 respostas

0

Encontrei a solução aqui . Acontece que eu tive que habilitar alguns módulos ...

Extraído de esta resposta de estouro de pilha por user1075581 :

  

Isso finalmente me colocou no caminho certo:

     

link

     

Aqui está a solução:

     

Na seção <Directory> , incluí estas linhas:

<IfModule sapi_apache2.c>
    php_admin_flag engine on
</IfModule>
<IfModule mod_php5.c>
    php_admin_flag engine on
</IfModule>
     

Ou uma cópia / colagem editada da solução no meu servidor:

<Directory "/var/www/vhosts/A2/httpdocs">
    <IfModule sapi_apache2.c>
        php_admin_flag engine on
    </IfModule>
    <IfModule mod_php5.c>
        php_admin_flag engine on
    </IfModule>

    (Other configuration parameters)

</Directory>
    
por The Quantum Physicist 19.01.2014 / 17:35
18

Eu consegui trabalhar com a linha:

sudo apt-get install libapache2-mod-php7.0

sudo service apache2 restart
    
por Alastair Mason 20.12.2015 / 17:15
4

Às vezes, coisas ainda piores podem acontecer .... Eu apenas esqueci de instalar o php

    
por Tebe 03.12.2014 / 22:16
0

Estou pesquisando há muito tempo e acabei de encontrar uma solução que funcione no meu caso. Eu tinha colocado meu arquivo ( processorder.php5 ) no diretório /var/www em uma instalação padrão do Ubuntu. Eu pensei que este era o lugar que o php olhou. Mas para html (ou arquivos php que provavelmente são considerados a mesma coisa), ele procurou em /var/www/html , ou seja, o subdiretório html de /var/www .

Quando movi meu arquivo para um diretório, funcionou. Eu sou suspeito porque acho que não vi isso documentado em nenhum lugar

    
por Craig Smilovitz 08.03.2015 / 02:04
0

problemas de permissão também podem levar a um comportamento estranho

chmod -R u=rwX,go=rX my_publishing_directory

irá se livrar de problemas de permissão (644 em arquivos e 755 em diretórios)

    
por baobab33 28.06.2016 / 17:44

Tags