Apache non esegue i file PHP, ma mi fa scaricare


15

Quindi ho installato il mio server usando questo tutorial e quando il file test.php funziona senza problemi quando inserisco l'indirizzo usando l'IP del mio server come

http://1.2.3.4/test.php

Tuttavia, se utilizzo virtualhosts, il browser offre solo di scaricare il file anziché eseguirlo. Così questo:

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

offre di scaricare il file anziché eseguire lo script.

Il codice che uso in /etc/apache2/apache2.conf per host virtuali è il seguente:

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

Anche se devo dire che quando riavvio il server apache2 ricevo un messaggio di avviso:

[....] 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

Sei a conoscenza del fatto che si tratta di un server LAMP?
Braiam,

@Braiam a dire il vero mi sono perso tra LAMP e Apache ... Non conosco la differenza ... hai una risposta alla mia domanda?
Il fisico quantistico

dove trovo questa directory? per me non funziona. per favore aiuto? come ricaricare vhost vie terminal?
God world,

@Godworld Quale directory? I file di configurazione di Apache sono presenti /etc/apache2/.
Il fisico quantistico

Risposte:


19

Ho capito che funziona con la linea:

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

sudo service apache2 restart

Grazie per aver nominato questa libreria. Sapevo che dovevo installare una libreria per risolvere questo problema, ma non conoscevo il nome.
Rahul Prasad,

Il libapache2-mod-php7.0pacchetto non esiste nel repository principale di Ubuntu. Non fino al rilascio del 16.04. Dovresti usare libapache2-mod-php5invece.
Dan,

4

A volte possono succedere cose anche peggiori .... Ho appena dimenticato di installare php


5
Non credo che questa possa essere definita una vera risposta, ma immagino che lo sia.
Seth,

3
Quando hai un numero ragionevole di macchine ed è abbastanza tardi la sera, questa è sicuramente una risposta valida.
Avio,

1
Una risposta valida davvero. Ho avuto un problema a destreggiarsi tra php5, php5-cli, php5-fpm e php-whatnot. Ad Apache mancava solo il pacchetto giusto .
famosogarkin

0

Ho trovato la soluzione qui . Si scopre che ho dovuto abilitare alcuni moduli ...


Tratto da questa risposta di overflow dello stack da parte dell'utente1075581 :

Questo finalmente mi ha messo sulla strada giusta:

http://www.linuxquestions.org/questions/linux-server-73/php-not-working-on-one-vhost-but-works-on-all-others-851093/

Ecco la soluzione:

Nella <Directory>sezione ho incluso queste righe:

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

Oppure, una copia / incolla redatta della soluzione sul mio server:

<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>

0

Lo sto cercando da molto tempo e ho appena trovato una soluzione che funziona nel mio caso. Avevo messo il mio file ( processorder.php5) nella directory /var/wwwin un'installazione standard di Ubuntu. Ho pensato che questo fosse il posto che cercava php. Ma per i file html (o php che sono probabilmente considerati la stessa cosa) ha guardato dentro /var/www/html, cioè la htmlsottodirectory di /var/www.

Quando ho spostato il mio file in una directory ha funzionato. Sono sospettoso perché non credo di averlo visto documentato da nessuna parte


0

problemi di autorizzazione possono anche portare a ottenere questo strano comportamento

chmod -R u=rwX,go=rX my_publishing_directory

eliminerà i problemi di autorizzazione (644 nei file e 755 nelle directory)

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.