página navegador nada muestra intenta info index habilitar ejecuta descargar descargan descarga código contenido archivos archivo php apache centos

nada - php no se ve en mi navegador



Apache está descargando archivos php en lugar de mostrarlos (19)

Anteriormente tengo un problema similar, después de actualizar de 5.3 a 5.4. Pero mi configuración se ve un poco diferente ya que estoy ejecutando Debian y usando fcgid para server las páginas PHP, y no el módulo PHP5 apache / cgi. Así que después de actualizar, también instalé php5_cgi, que colisionó con mi configuración fcgid, y ya no ejecutaba archivos PHP.

Tuve que desactivar el módulo de Apache y reiniciar Apache

a2dismod php5_cgi /etc/init.d/apache2 restart

Una vez que el módulo php5_cgi estuvo fuera del camino, fcgid pudo servir páginas PHP nuevamente.

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í actualizarlo. Primero desinstalé el php 5.3.x y luego instalé php 5.5.1 pero después de la instalación completada, apache no analizó los archivos php que acaba de descargar. He consultado preguntas similares aquí en stackoverflow, pero ninguna de ellas me ha ayudado hasta ahora.

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

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 líneas 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 parte. yo añadí

AddType text/html .php

pero sin suerte.


Después de luchar mucho, finalmente resolví el problema.

Si se le solicita que descargue un archivo .php lugar de ejecutarlo, entonces esta es la solución perfecta: supongo que ya ha instalado PHP5 y sigue obteniendo este error.

$ sudo su $ a2enmod php5

Eso es todo.

Pero si sigues recibiendo el error:

Config file php5.conf not properly enabled: /etc/apache2/mods-enabled/php5.conf is a real file, not touching it

luego haz lo siguiente:

Resulta que los archivos no se deben almacenar en mods-enabled , sino que deben almacenarse en mods-available . Luego, se debe crear un enlace simbólico en mods-enabled apuntando al archivo almacenado en mods-available.

Primero elimina el original:

$ mv /etc/apache2/mods-enabled/php5.conf /etc/apache2/mods-available/

Luego crea el enlace simbólico:

$ ln -s /etc/apache2/mods-available/php5.conf /etc/apache2/mods-enabled/php5.conf

Espero que tu problema esté resuelto


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 configura Apache, intente ver la página desde otro navegador. He tenido días en que Chrome guarda categóricamente el resultado y sigue descargando el código fuente, mientras que en otro navegador está bien.


En caso de que alguien esté usando php7 en un entorno Linux

Asegúrate de habilitar php7

sudo a2enmod php7

Reinicia el servicio mysql y Apache

sudo systemctl restart mysql sudo systemctl restart apache2


Esto podría estar sucediendo debido a los módulos faltantes requeridos para su php. Suponiendo que tiene instalado php7, busque módulos php7 disponibles usando

sudo apt-cache search php7-*

El comando anterior mostrará una lista de todos los módulos PHP7 disponibles para su instalación. Puede comenzar la instalación de módulos como,

sudo apt-get install libapache2-mod-php7.0 php7.0-mysql php7.0-curl php7.0-json


Hoy me encontré con este problema y ninguna de las soluciones descritas me funcionó. Entonces aquí hay otra posible causa:

Si tienes algo como

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

en un archivo .htaccess de su carpeta de contenido web, puede hacer que sus scripts PHP dejen de funcionar. En mi caso, el servidor no conocía el tipo x-mapp-php6 , ya que ese archivo .htaccess era algo que importé de un host web diferente cuando transferí el contenido del sitio web.

Solo AddHandler línea AddHandler del archivo .htaccess para solucionarlo.


PHP56

vim /etc/httpd/conf/httpd.conf

LoadModule php5_module libexec/apache/libphp5.so AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps


Pasé dos días siguiendo esto y descubrí que estaba colocando mis scripts PHP en el directorio incorrecto.

En mi instalación estándar de Ubuntu, estaba colocando los scripts en /var/www . Deberían haber estado en /var/www/html .

Acabo de comenzar a trabajar con PHP, por lo que no sé si mi solución se relaciona con el cambio de versión que usted experimentó.


Por favor, eche un vistazo a sus directivas addtype.

Me parece que Apache le está diciendo al navegador que está enviando un tipo de documento de aplicación / php para scripts con extensiones como .php5. De hecho, se supone que Apache le dice al navegador que el script está enviando texto / html.

Por favor intente esto:

AddType text/html .php

Con respecto a la sugerencia anterior, debes decirle al navegador que estás produciendo un script PHP: me pareció una idea inusual. Lo busqué en Google y descubrí que hay bastante debate al respecto en la web. Aparentemente hay casos en los que puede querer decir que está enviando un script PHP (aunque se supone que Apache debe ejecutar el script y emitir texto / html) y también hay casos en los que el navegador simplemente no reconoce ese Mime específico. Tipo.

Borrar la caché de su navegador siempre es una buena idea.

En caso de que sea útil, aquí hay una copia de mi archivo /etc/httpd/conf.d/php.conf de un servidor que ejecuta CentOS 5.9:

# # PHP is an HTML-embedded scripting language which attempts to make it # easy for developers to write dynamically generated webpages. # <IfModule prefork.c> LoadModule php5_module modules/libphp5.so </IfModule> <IfModule worker.c> LoadModule php5_module modules/libphp5-zts.so </IfModule> # # Cause the PHP interpreter to handle files with a .php extension. # AddHandler php5-script .php AddType text/html .php # # Add index.php to the list of files that will be served as directory # indexes. # DirectoryIndex index.php # # Uncomment the following line to allow PHP to pretty-print .phps # files as PHP source code: # #AddType application/x-httpd-php-source .phps


Si Your .htaccess tiene algo como esto ... AddHandler application / x-httpd-php53 .php .php5 .php4 .php3 luego coméntelo y vuelva a intentar refrescar esto funcionó para mí ...


Si Your .htaccess tiene algo como esto

AddType application/x-httpd-ea-php56 .php .php5 .phtm .html .htm


Si ninguno de los anteriores funciona,

intente comentar la línea

SetHandler ....

y reinicie Apache usando

/etc/init.d/httpd restart

¡Deberia de funcionar!


También es posible que tenga nginx ejecutándose pero su php está configurado para ejecutarse con apache. Para verificar, ejecute el service nginx status y el service nginx status service apache2 status para ver cuál se está ejecutando. En el caso de que nginx se esté ejecutando y apache no lo esté, solo ejecute sudo service nginx stop; sudo service apache2 start sudo service nginx stop; sudo service apache2 start y su servidor ahora servirá los archivos php como se esperaba.


Tenía síntomas similares, una solución más: en /etc/apache2/mods- habilitado / php5.conf había un consejo útil en el comentario, que seguí:

# To re-enable php in user directories comment the following lines # (from <IfModule ...> to </IfModule>.) Do NOT set it to On as it # prevents .htaccess files from disabling it.


Tengo el mismo problema. Apache no carga archivos php desde un determinado sitio web, simplemente lo descarga. Leí esta publicación y las respuestas y he visto que tengo esta línea en el último lugar del archivo .htaccess:

AddHandler x-mapp-php5.5 .php

Lo he comentado y todo funciona bien.

Gracias a todos !!!


Tengo este tipo de problema. Así es como lo resuelvo. Después de instalar Apache , instalé PHP usando este comando.

sudo apt-get install php libapache2-mod-php

se ejecuta correctamente pero solicito el archivo .php de Apache, se da sin ejecutar el script PHP .

Luego verifico que PHP está habilitado.

$ cd /etc/apache2 $ ls -l mods-*/*php*

pero no mostró ningún resultado. Reviso los paquetes PHP instalados.

$ dpkg -l | grep php| awk ''{print $2}'' |tr "/n" " "

Diferentes tipos de versiones de PHP instaladas en mi computadora. Luego elimino algunos paquetes de PHP de mi lista anterior, usando apt-get purge .

sudo apt-get purge libapache2-mod-php7.0 php7.0 php7.0-cli php7.0-common php7.0-json

Reinstalo PHP

sudo apt-get install php libapache2-mod-php php-mcrypt php-mysql

Verificar que el módulo PHP esté cargado

$ a2query -m php7.0

si no está habilitado con:

$ sudo a2enmod php7.0

Reinicie el servidor Apache

$ sudo systemctl restart apache2

Finalmente, verifico el proceso de PHP en Apache

crea un archivo vacío

sudo vim /var/www/html/info.php

Agregue este contenido a info.php y guarde.

<?php phpinfo(); ?>

Compruebe en el navegador:

http://localhost/info.php

se muestra correctamente. Creo que esto ayudará a cualquiera.


Tuve este problema Resultó que tenía tanto nginx como apache instalados y que se iniciaban automáticamente al arrancar. El problema era que nginx era vinculante para el puerto http primero, lo que impedía que apache se iniciara.


Tuve un problema similar al OP al actualizar php5 de una versión anterior a 5.5.9, que es la versión instalada con Mint 17.

Estoy ejecutando una configuración LAMP en una máquina en mi red local, que utilizo para obtener una vista previa de los cambios a los sitios web antes de cargar esos cambios en el servidor real. Así que mantengo un espejo local perfecto del sitio real.

Después de la actualización, los archivos que se ejecutan y muestran perfectamente en el sitio real no se mostrarían, o solo mostrarían html en la máquina local. PHP no fue analizado El comando phpinfo () funcionó, así que sabía que php estaba funcionando. El registro no generó errores. Viendo el origen de la página me mostró el código php real.

Construí una página test.php que contenía el siguiente código:

<?php phpinfo(); ?>

Esto funcionó. Entonces descubrí cuando cambié <?php a <? el comando ya no funcionaba Todos mis sitios php usan <? en lugar de <?php que podría no ser ideal, pero es la realidad. Solucioné el problema yendo a / etc / php5 / apache2, buscando "short_open_tag" y cambiando el valor de Off a On.


esto resolvió el problema para mí (tengo php7 instalado):

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

sudo service apache2 restart