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.