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:
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