Apache muestra código PHP en lugar de ejecutarlo

5 minutos de lectura

Apache muestra codigo PHP en lugar de ejecutarlo
imulsión

Recientemente he estado tratando de instalar PHP y Apache en mi computadora. Después de muchas horas, están instalados. He modificado los archivos httpd.conf y php.ini como dice todo el mundo. Luego creé un simple script PHP:

<?php phpinfo(); ?>

Pero cuando trato de ejecutarlo con http://127.0.0.1/phpinfo.php simplemente muestra el código fuente en lugar de ejecutarlo. Estoy usando Apache 2, PHP 5 y Windows Vista.

LÍNEAS EDITADA:

PHP.INI:

short_open_tag = On

HTTPD.CONF

LoadModule php5_module "C:/php/php5apache2_2.dll"
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
PHPIniDir "C:/php"

  • en phpinfo.php, ¿ha agregado algunos encabezados que hacen que el archivo .php sea legible?

    usuario1317647

    27 de agosto de 2012 a las 12:43

  • @Peteris no, mi guión completo está en mi pregunta

    – imulsión

    27 de agosto de 2012 a las 12:44


  • prueba script simple: <?php echo "Hello world"; ?> ¿Muestra Hello world? si muestra el código, ¡cómo dijo @RabNawaz que su servidor no está configurado correctamente!

    usuario1317647

    27 de agosto de 2012 a las 12:45

  • Solo muestra el código de nuevo 🙁

    – imulsión

    27 de agosto de 2012 a las 12:47

  • ¿Desde dónde está accediendo a su archivo php? tenga en cuenta que para ejecutar el archivo php en su servidor, debe colocar sus archivos en el directorio raíz web adecuado. y acceda a él en su navegador web como http://localhost/ o http://127.0.0.1/

    –Ibrahim Azhar Armar

    27 de agosto de 2012 a las 12:49


1647339790 560 Apache muestra codigo PHP en lugar de ejecutarlo
Daniel Figueroa

¡Debe habilitar php! revisa la carpeta mods-enabled en el directorio de Apache (predeterminado: /etc/apache2/) para ver si encuentra un archivo llamado php. No recuerdo la extensión pero creo que es .so.

También regístrese /var/log/apache2/error.log para ver si tienes otros errores.

  • has ejecutado: a2enmod php5

    –Daniel Figueroa

    27 de agosto de 2012 a las 12:50

  • no hay una carpeta mods_enabled en mi directorio de apache

    – imulsión

    27 de agosto de 2012 a las 12:53

  • En mi caso para php7, tuve que hacer a2enmod php7.0 y resolvió mi problema. ¡Tomó todo el día llegar a esta publicación de alguna manera!

    – Sejwal

    17/09/2016 a las 15:42

  • No hay ningún archivo llamado php en mods-enabled, ¿ahora que? Esta respuesta no explica las cosas.

    – Negro

    07/03/2017 a las 11:00

  • solo veo .conf y .load archivos en el directorio habilitado para mods. corriendo a2enmod php7.0 me da los siguientes errores: Considering conflict php5 for php7.0, Considering conflict mpm_worker for mpm_preforketc… y el reinicio de apache2 falla

    – mrid

    14 de junio de 2018 a las 5:03

¡Guau, muchas soluciones aquí! Esto es lo que hice en Ubuntu 16.04:

sudo apt-get install php libapache2-mod-php
sudo a2enmod mpm_prefork && sudo a2enmod php7.0
sudo service apache2 restart

  • Funcionó para mí agregando --reinstall para apt-get. Puede que la instalación del módulo php/apache esté sucia.

    – Glastis

    28 de junio de 2017 a las 13:48


  • Esto funcionó para mí en el servidor Ubuntu 16.04 de Digital Ocean Gracias

    –Sushant Bhargav

    15 de noviembre de 2017 a las 9:49


  • esto me da los siguientes errores: Considering conflict php5 for php7.0, Considering conflict mpm_worker for mpm_preforketc… y el reinicio de apache2 falla

    – mrid

    14 de junio de 2018 a las 4:59


  • Si lo consigues Considering conflict php5 for php7.2 ir /etc/apache2/mods-available y eliminar php5.*

    – Simón Epskamp

    24 de mayo de 2019 a las 11:51

  • esto funcionó para mí (Ubuntu 20.04.2) sin ejecutar el segundo comando (a2enmod)

    – Korhan Ozturk

    14 abr 2021 a las 15:15

Para PHP 7 (también puede aplicarse a versiones anteriores), pero tuve que hacer esto:

Agregue esto al final de /etc/apache2/apache2.conf

<FilesMatch \.php$>
SetHandler application/x-httpd-php
</FilesMatch>

Ejecuta esto desde la terminal:

sudo a2dismod mpm_event && sudo a2enmod mpm_prefork && sudo a2enmod php7

Entonces no olvides reiniciar Apache para que sepa que cambiaste cosas:

sudo service apache2 restart

Este es un resumen de: https://www.atlantic.net/community/howto/try-php7-lamp-ubuntu-14-04/

  • Tuve que hacer esto para PHP 5.6 en OSX El Capitan. (Usando stock apache, pero homebrew php56)

    – rfay

    11 de agosto de 2016 a las 23:04


  • También funciona en Windows (lo que significa que no tiene que ejecutar los comandos de terminal en Windows) Gracias por ahorrarme búsquedas interminables.

    – Cedric Ipkiss

    5 de abril de 2017 a las 0:18


  • al instalar desde la fuente, se requería esta coincidencia de archivos. (la configuración y la creación, etc. habilitan el módulo en httpd.conf para mí, pero no agregaron este).

    – usuario7296055

    29 de noviembre de 2017 a las 11:06

  • Hay mil millones de comentarios en el archivo httpd.conf de muestra; ¿Alguien puede explicar por qué no hay uno para php? No es una cosa raramente usada.

    – Daniel

    12 de junio de 2018 a las 0:31

  • @Danial httpd.apache.org/support.html tiene varios métodos donde puede encontrar documentos, informar errores y hacer preguntas (como por ejemplo, ¿por qué no hay un buen ejemplo del uso de PHP en httpd.conf?)

    – Ryan Nerd

    12 de junio de 2018 a las 19:27

Apache muestra codigo PHP en lugar de ejecutarlo
íñigo333

abre el archivo

/etc/apache2/httpd.conf

y cambio

#LoadModule php5_module libexec/apache2/libphp5.so

dentro

LoadModule php5_module libexec/apache2/libphp5.so

Así que simplemente elimine el comentario de la carga del módulo PHP httpd.conf

Apache muestra codigo PHP en lugar de ejecutarlo
Pawel

Encontré esto para resolver mi problema relacionado. Lo agregué a lo relevante <Directory> sección:

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

1647339793 31 Apache muestra codigo PHP en lugar de ejecutarlo
Simón Mohoalali

Una respuesta diferente que funcionó para mí. Es eso, para instalar [sudo] apt-get install libapache2-mod-php5.X

1647339793 168 Apache muestra codigo PHP en lugar de ejecutarlo
Mateo Farrell

Apache muestra código php en lugar de ejecutar Problema solucionado

1. Abrió php5.6 conf o php7.x conf

# siguiente comando:

$ sudo vi /etc/apache2/mods-enabled/php5.6.conf

2. Comentó las siguientes líneas

ingrese la descripción de la imagen aquí

3. Reinicie el servidor

$ sudo servicio apache2 reiniciar

4 Disfruta 🙂

¿Ha sido útil esta solución?

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Configurar y más información
Privacidad