Script PHP non in esecuzione sul server Apache


54

Ho appena reinstallato Apache e PHP5 ma quando visito il mio root del documento scarica solo un file "download". E quando provo documentroot /index.php, scarica semplicemente il file PHP.

Ho installato PHP ma Apache non sembra volerlo eseguire.
La gente ha suggerito di aggiungere una riga "Load Module" al mio httpd.confma non ho quel file.

Risposte:


103

Digitando:

sudo apt-get install apache2 php5 libapache2-mod-php5

installerà tutto ciò di cui hai bisogno e avvierà il server apache con supporto per PHP.

Per verificare che il modulo php sia caricato, digitare:

a2query -m php5

se non abilitato, caricare con:

sudo a2enmod php5

e riavvia apache:

sudo service apache2 restart

Aggiornamento per php7.x (testato su Ubuntu 16.04, 16.10, 18.04, 18.10 )

Grazie ai commenti, aggiorno la risposta per php7.x.

Installare:

sudo apt-get install apache2 php7.x libapache2-mod-php7.x 

Verificare:

a2query -m php7.x

Caricare:

sudo a2enmod php7.x

Riavvia apache:

sudo service apache2 restart

Sarebbe meglio usare a2enmodpiuttosto che copiare il file manualmente tra mods-enabled e mod-enabled. a2enmodcrea un collegamento simbolico e quindi avrai solo una copia della configurazione.
jkt123,

@ jkt123 hai ragione. grazie per il consiglio, modifico la mia risposta.
girardengo,

Nel mio caso, dice "ERRORE: il modulo php5 non esiste!" è installato
Marian Klühspies l'

3
per ubuntu 16.04 con php7 ho eseguito questi comandi in ordine apt-get install libapache2-mod-php, a2query -m php7.0,service apache2 restart
marlo

Per Ubuntu 14.04: # a2query -m php7.0 php7.0 (abilitato dall'amministratore del sito) Il codice php non viene ancora eseguito
Ashish Karpe,

19

Un'altra causa comune è che i tag corti php <?non sono abilitati dalla configurazione php.ini predefinita, quindi dopo un aggiornamento o una reinstallazione, tale impostazione potrebbe essere disattivata e il codice php potrebbe dipendere da esso. Prova a sostituirlo <?con <?php.

( Credito )


13

Ubuntu 16.04 è passato a PHP 7. Questo singolo comando farà il lavoro per te:

sudo apt-get install apache2 php libapache2-mod-php

Ecco libapache2-mod-phpun meta-pacchetto che installa libapache2-mod-php7.


2

Apri php.inicon nanonel terminale:

sudo nano /etc/php/php5.6/apache2/php.ini

Quindi cambia:

short_open_tag = Off

per

short_open_tag = On

Quindi salva e riavvia apache2:

sudo systemctl restart apache2

1
O correggi gli script PHP :-)This directive determines whether or not PHP will recognize code between <? and ?> tags as PHP source which should be processed as such. It is generally recommended that <?php and ?> should be used and that this feature should be disabled [...]
Nicolas Raoul,

1

Ho riscontrato lo stesso problema, ma il mio problema particolare era unico. Stavo correndo in una directory utente (usando mod_userdir) - il che significa che accedi alla mia pagina web con http://host.name.com/~username/example.php

Questo è disabilitato di default in php * .conf nella mia directory abilitata alle mod. Ho dovuto modificarlo per commentarlo:

#<IfModule mod_userdir.c>
#    <Directory /home/*/public_html>
#        php_admin_flag engine Off
#    </Directory>
#</IfModule>

È stato un dolore capire ...

Bene, dubito che qualcuno abbia avuto QUESTO particolare problema, ma ho pensato di aggiungerlo perché era sconcertante per me e FORSE qualcuno sta facendo la stessa cosa. Nessuno usa più ~ / user suppongo, tranne me.

Devi riavviare apache dopo questo ovviamente.


0

Il mio caso era un po 'diverso. Ho aggiornato da Ubuntu 19.04 a 19.10. Durante l'aggiornamento ha installato php 7.3 (dove php 7.2 era già installato). Con 2 versioni installate a2query -m php7.3 return Nessun modulo corrisponde a php7.3 .

La soluzione che ho trovato proveniva da how-to-install-php-7-3-on-ubuntu .

Per impostare PHP 7.0 come predefinito, esegui

update-alternatives --set php /usr/bin/php7.0

Per impostare PHP 7.2 come predefinito, esegui

update-alternatives --set php /usr/bin/php7.2

Per impostare PHP 7.3 come predefinito, esegui

update-alternatives --set php /usr/bin/php7.3

Prima di poter configurare Apache per l'utilizzo di PHP 7.3, è necessario disabilitare la vecchia versione di PHP 7.0 digitando

a2dismod php7.2

Ora abilita la versione di PHP 7.3 appena installata con il seguente comando:

a2enmod php7.3

Riavviare il server Web Apache per rendere effettive le modifiche:

sudo systemctl restart apache2
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.