Apache está descargando archivos php en lugar de mostrarlos

Resuelto Anthony Gainor asked hace 54 años • 27 respuestas

Información del sistema operativo y del servidor:

  • CentOS 6.4 (final)
  • Apache 2.2.15
  • PHP 5.5.1

Anteriormente tenía instalado php 5.3.x pero decidí actualizar. Primero desinstalé php 5.3.x y luego instalé php 5.5.1, pero una vez completada la instalación, Apache no analizó los archivos php, simplemente los descargó. Revisé preguntas similares aquí en stackoverflow, pero ninguna me ha ayudado hasta ahora.

Para que conste, tengo las siguientes líneas en mi httpd.conf y php.conf que deberían hacer que php funcione pero no lo hacen:

AddHandler application/x-httpd-php .php5 .php4 .php .php3 .php2 .phtml
AddType application/x-httpd-php .php5 .php4 .php .php3 .php2 .phtml
AddType application/x-httpd-php-source .phps
AddHandler php5-script .php

Realmente apreciaria cualquier ayuda. Gracias.

EDITAR:

Tengo estas lineas en php.conf

<IfModule !worker.c>
  LoadModule php5_module modules/libphp5.so
</IfModule>
<IfModule worker.c>
  LoadModule php5_module modules/libphp5-zts.so
</IfModule>

EDITAR:

Al eliminar el

AddType application/x-httpd-php .php5 .php4 .php .php3 .php2 .phtml

Apache ya no descarga el archivo. Ahora Apache muestra el código fuente, pero no todo, solo una parte. yo añadí

AddType text/html .php

pero no hubo suerte.

Anthony Gainor avatar Jan 01 '70 08:01 Anthony Gainor
Aceptado

El AddType correcto para php es application/x-httpd-php

AddType  application/x-httpd-php         .php
AddType  application/x-httpd-php-source  .phps

También asegúrese de que su módulo php esté cargado

LoadModule php5_module        modules/mod_php55.so

Cuando esté configurando Apache, intente ver la página desde otro navegador. He tenido días en los que Chrome almacena en caché obstinadamente el resultado y sigue descargando el código fuente mientras que en otro navegador está bien.

Mihkel avatar Aug 27 '2013 05:08 Mihkel

Me encontré con este problema hoy y ninguna de las soluciones descritas funcionó para mí. Aquí hay otra posible causa:

Si tienes algo como

AddHandler x-mapp-php6 .php3 .php4 .php .phtml

en un .htaccessarchivo de su carpeta de contenido web, puede hacer que sus scripts PHP dejen de funcionar. En mi caso, el servidor no sabía el x-mapp-php6tipo, ya que ese .htaccessarchivo era algo que importé desde un servidor web diferente cuando transferí el contenido del sitio web.

Simplemente eliminar la AddHandlerlínea del .htaccessarchivo lo resolvió.

markus avatar Apr 11 '2014 22:04 markus