El script PHP no se ejecuta en el servidor Apache

54

Acabo de reinstalar Apache y PHP5, pero cuando visito mi raíz de documentos, solo descarga un archivo de "descarga". Y cuando pruebo documentroot /index.php simplemente descarga el archivo PHP.

Tengo PHP instalado pero Apache no parece querer ejecutarlo.
La gente sugirió agregar una línea 'Cargar módulo' a mi httpd.confpero no tengo ese archivo.

usuario2919631
fuente

Respuestas:

103

Mecanografía:

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

instalará todo lo que necesita e iniciará el servidor apache con soporte para PHP.

Para verificar que el módulo php esté cargado, escriba:

a2query -m php5

si no está habilitado, cargue con:

sudo a2enmod php5

y reiniciar apache:

sudo service apache2 restart

Actualización para php7.x (probado en Ubuntu 16.04, 16.10, 18.04, 18.10 )

Gracias a los comentarios, actualizo la respuesta para php7.x.

Instalar en pc:

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

Verificar:

a2query -m php7.x

Carga:

sudo a2enmod php7.x

Reiniciar apache:

sudo service apache2 restart
girardengo
fuente
Sería mejor usarlo a2enmodque copiar el archivo manualmente entre mods-available y mods-enabled. a2enmodcrea un enlace simbólico y solo tendrá una copia de la configuración.
jkt123
@ jkt123 tienes razón. gracias por el consejo, edito mi respuesta.
girardengo
En mi caso, dice "ERROR: ¡el módulo php5 no existe!" está instalado
Marian Klühspies
3
para Ubuntu 16.04 con php7 voy a ejecutar estos comandos en orden apt-get install libapache2-mod-php, a2query -m php7.0,service apache2 restart
marlo
Para ubuntu 14.04: # a2query -m php7.0 php7.0 (habilitado por el administrador del sitio) Todavía no se está ejecutando el código php
Ashish Karpe
19

Otra causa común es que las etiquetas cortas php <?no están habilitadas por la configuración predeterminada de php.ini, por lo que después de una actualización o reinstalación, esa configuración puede desactivarse y el código php puede depender de ello. Intenta reemplazar <?con <?php.

( Crédito )

Tufelkinder
fuente
13

Ubuntu 16.04 se ha movido a PHP 7. Este comando único hará el trabajo por usted:

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

Aquí libapache2-mod-phphay un metapaquete que instala libapache2-mod-php7.

daltonfury42
fuente
2

Abierto php.inicon nanoen terminal:

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

Luego cambia:

short_open_tag = Off

a

short_open_tag = On

Luego guarde y luego reinicie apache2:

sudo systemctl restart apache2
Satrio Prasojo
fuente
1
O arregle los scripts 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

Me encontré con el mismo problema, pero mi problema particular era único. Estaba ejecutando en un directorio de usuarios (usando mod_userdir), lo que significa que accede a mi página web con http://host.name.com/~username/example.php

Esto está deshabilitado por defecto en php * .conf en mi directorio habilitado para mods. Tuve que modificarlo para comentarlo:

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

Eso fue un dolor de resolver ...

Bueno, dudo que alguien haya tenido ESTE problema en particular, pero pensé que lo agregaría porque me dejó perplejo y tal vez alguien esté haciendo lo mismo. Nadie usa ~ / user nunca más, supongo, excepto yo.

Tienes que reiniciar Apache después de esto, por supuesto.

Jiminy Idiot
fuente
0

Mi caso fue un poco diferente. Actualicé de Ubuntu 19.04 a 19.10. Durante la actualización, instaló php 7.3 (donde ya estaba instalado php 7.2). Con 2 versiones instaladas a2query -m php7.3 return Ningún módulo coincide con php7.3 .

La solución que encontré fue de cómo-instalar-php-7-3-on-ubuntu .

Para configurar PHP 7.0 como predeterminado, ejecute

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

Para establecer PHP 7.2 como predeterminado, ejecute

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

Para establecer PHP 7.3 como predeterminado, ejecute

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

Antes de que podamos configurar Apache para usar PHP 7.3, necesitamos deshabilitar la versión anterior de PHP 7.0 escribiendo

a2dismod php7.2

Ahora habilite la versión PHP 7.3 recién instalada con el siguiente comando:

a2enmod php7.3

Reinicie el servidor web Apache para que los cambios surtan efecto:

sudo systemctl restart apache2
Adeel Raza Azeemi
fuente