Apache no ejecuta archivos PHP, pero me hace descargarlos


15

Así que configuré mi servidor usando este tutorial, y cuando el archivo test.php funciona sin problemas cuando ingreso la dirección usando la IP de mi servidor como

http://1.2.3.4/test.php

Sin embargo, si uso virtualhosts, el navegador solo ofrece descargar el archivo en lugar de ejecutarlo. Así que esto:

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

ofrece descargar el archivo en lugar de ejecutar el script.

El código que uso en /etc/apache2/apache2.conf para hosts virtuales es el siguiente:

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

Aunque tengo que decir que cuando reinicio el servidor apache2 recibo un mensaje de advertencia:

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

¿Eres consciente de que es un servidor LAMP?
Braiam

@Braiam para ser honesto, estoy perdido entre LAMP y Apache ... No sé la diferencia ... sin embargo, ¿tienes una respuesta a mi pregunta?
El físico cuántico

¿Dónde encuentro este directorio? no funciona para mi ¿por favor ayuda? ¿Cómo recargo el terminal vhost vie?
Dios mundo

@Godworld ¿Qué directorio? Los archivos de configuración de Apache están en /etc/apache2/.
The Quantum Physicist

Respuestas:


19

Lo tengo para trabajar con la línea:

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

sudo service apache2 restart

Gracias por nombrar esta biblioteca. Sabía que tenía que instalar una biblioteca para solucionar esto, pero no sabía el nombre.
Rahul Prasad

El libapache2-mod-php7.0paquete no existe en el repositorio principal de Ubuntu. No hasta que se lance 16.04. Deberías usar libapache2-mod-php5en su lugar.
Dan

4

A veces pueden suceder cosas aún peores ... Olvidé instalar php


55
No creo que esto pueda llamarse una respuesta real, pero supongo que sí.
Seth

3
Cuando tiene un número razonable de máquinas y es razonablemente tarde en la noche, esta es definitivamente una respuesta válida.
Avio

1
Una respuesta válida de hecho. Tuve un problema haciendo malabares con php5, php5-cli, php5-fpm y php-whatnot. A Apache le faltaba el paquete correcto .
famousgarkin

0

Encontré la solución aquí . Resulta que tuve que habilitar algunos módulos ...


Tomado de esta respuesta de desbordamiento de pila por el usuario1075581 :

Esto finalmente me puso en el camino correcto:

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

Aquí está la solución:

En la <Directory>sección, incluí estas líneas:

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

O una copia / pegado redactada de la solución en mi 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>

0

Estuve buscando esto durante mucho tiempo y acabo de encontrar una solución que funciona en mi caso. Había puesto mi archivo ( processorder.php5) en el directorio /var/wwwen una instalación estándar de ubuntu. Pensé que este era el lugar que parecía php. Pero para html (o archivos php que probablemente se consideran lo mismo) buscó /var/www/html, es decir, el htmlsubdirectorio de /var/www.

Cuando moví mi archivo a un directorio, funcionó. Sospecho porque no creo haber visto esto documentado en ningún lado


0

problemas de permisos también pueden conducir a este comportamiento extraño

chmod -R u=rwX,go=rX my_publishing_directory

eliminará los problemas de permisos (644 en archivos y 755 en directorios)

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.