remove - El código PHP no se está ejecutando, en su lugar, el código se muestra en la página
que es php y para que sirve (24)
Estoy intentando ejecutar algún código PHP en un proyecto (utilizando Dreamweaver) pero el código no se está ejecutando.
Cuando verifico el código fuente, el código PHP aparece como etiquetas HTML (puedo verlo en el código fuente). Apache se está ejecutando correctamente (estoy trabajando con XAMPP), las páginas PHP se están abriendo correctamente pero el código PHP no se está ejecutando.
¿Alguien tiene alguna sugerencia sobre lo que está pasando?
Nota: el archivo ya está nombrado como filename.php
Edit: El Código ..:
<?
include_once("/code/configs.php");
?>
Acabo de pasar horas tratando de que PHP 5 se ejecute con Apache 2.4 en Windows 10 . Finalmente, para mí fue un error tipográfico en httpd.conf LoadModule
. Llamé la atención a la escritura y la ruta exacta del módulo a través de la última respuesta en este hilo apachelounge de denny2018 . ¡Gracias!
Después de dos noches descubrí ... Mi directorio fue escrito
c:
(minúscula)
Tuve LoadModule php5_module "c:/php/php5apache2.dll"
pero correcto para Apache 2.4 es:
LoadModule php5_module "C:/php/php5apache2_4.dll"
Así que también me perdí el _4
antes (para apache 2.4 ). El fragmento completo que funcionó para mí:
# PHP
LoadModule php5_module "C:/php/php5apache2_4.dll"
AddHandler application/x-httpd-php .php
<FilesMatch /.php$>
SetHandler application/x-httpd-php
</FilesMatch>
Sólo probé PHP 7 . Allí se encuentra la línea LoadModule
en httpd.conf para lecturas de Apache 2.4
LoadModule php7_module "C:/php/php7apache2_4.dll"
Actualmente, el manual de php muestra c:/php/php5apache2.dll
que, por supuesto, necesita ser ajustado.
Agregue AddType application/x-httpd-php .php
a su archivo httpd.conf si está utilizando Apache 2.4
Asegúrese de que el script contiene
<?php
Antes del código que se debe ejecutar. No debe haber espacio entre <?
y php
en esto.
Creo que el problema que muestra el código en lugar del resultado es que no va al host local. vuelva a verificar la dirección en la que ingresa. va a un directorio de archivos local o al servidor local.
a partir de la captura de pantalla que envió, se va a la computadora no al localhost.
"file: ///" debería ser "localhost /"
Encontré otro problema causando este problema y ya lo resolví. Accidentalmente guardé mi script en UTF-16
. Parece que PHP5 no puede reconocer la etiqueta <?php
en la codificación de 16 bits por defecto.
Esto fue en mi .htaccess
DirectoryIndex index.html index.htm
index.html contenía código PHP. Por defecto, PHP no procesará archivos con extensiones como htm * como código PHP.
Puede anular esto, agregando lo siguiente a .htaccess:
<FilesMatch ".+/.html$">
SetHandler application/x-httpd-php
</FilesMatch>
Esto simplemente me volvió a pasar, junto con el servidor descargando archivos html, en lugar de procesarlos. No había usado el servidor web apache durante algún tiempo en la computadora y, mientras tanto, Ubuntu se actualizó como dos versiones más de LTS originalmente instalado. Ahora es
$ cat /etc/issue
Ubuntu 16.04 LTS
Así que el php trabajó después como así:
$ sudo apt-get install lamp-server^
$ sudo a2enmod php7.0
$ sudo service apache2 restart
El servidor web ahora estaba analizando el php. Tal vez ahora tenga que actualizar algunas webs ya que php7.0 ahora se ejecuta donde estaba antes de ejecutar php5. Oh bien.
Estoy ejecutando Apache en Ubuntu y mi problema fue que el archivo /etc/apache2/mods-available/php5.conf
faltaba esto:
<FilesMatch ".+/.ph(p[345]?|t|tml)$">
SetHandler application/x-httpd-php
</FilesMatch>
Lo volví a agregar y PHP estaba analizando los archivos PHP correctamente.
Me enfrenté a este problema en PHP 7.1 que viene con High Sierra (OS X 10.13.5), editando /etc/apache2/httpd.conf
con los siguientes cambios ayudaron:
Descomenta esta línea
LoadModule php7_module libexec/apache2/libphp7.so
Pegar siguiendo al final
<IfModule php7_module> AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps <IfModule dir_module> DirectoryIndex index.html index.php </IfModule> </IfModule>
Para una nueva configuración de LAMP ejecutando php 7, edite el archivo /etc/httpd/conf/httpd.conf Nota: asegúrese de hacer una copia de seguridad antes de cambiar nada.
Pega esto en la parte inferior del archivo:
<IfModule php7_module>
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
<IfModule dir_module>
DirectoryIndex index.html index.php
</IfModule>
Luego, busque LoadModule y pegue la siguiente línea:
LoadModule php7_module modules/libphp7.so
Esta línea simplemente le pedirá a httpd que cargue el módulo php 7
Luego reinicie httpd
Parece que hay algo mal con su configuración, aquí hay algunas cosas que puede verificar:
Asegúrese de que PHP está instalado y ejecutándose correctamente. Esto puede sonar tonto, pero nunca se sabe. Una forma fácil de verificar es ejecutar
php -v
desde una línea de comandos y ver si devuelve información de la versión o algún error.Asegúrese de que el módulo PHP esté en la lista y sin comentarios dentro del httpd.conf de su Apache. Esto debería ser algo así como
LoadModule php5_module "c:/php/php5apache2_2.dll"
en el archivo. BusqueLoadModule php
y asegúrese de que no haya ningún comentario (;
) delante de él.Asegúrese de que el archivo httpd.conf de Apache tenga el tipo MIME de PHP en él. Esto debería ser algo como
AddType application/x-httpd-php .php
. Esto le dice a Apache que ejecute archivos.php
como PHP. Busque AddType y luego asegúrese de que haya una entrada para PHP y que no tenga comentarios .Asegúrese de que su archivo tenga la extensión
.php
, o la extensión especificada en la definición MIME en el punto # 3, de lo contrario no se ejecutará como PHP.Asegúrese de no usar etiquetas cortas en el archivo PHP (
<?
), Estas no están habilitadas en todos los servidores de forma predeterminada y se desaconseja su uso. Utilice<?php
lugar (o habilite etiquetas cortas en su php.ini conshort_open_tag=On
si tiene un código que se basa en ellas).Asegúrese de que está accediendo a su archivo a través de su servidor web utilizando una URL como
http://localhost/file.php
no a través del archivo local de acceso afile://localhost/www/file.php
Y por último, consulte el manual de PHP para obtener más consejos de configuración .
Reinstalar el módulo mcrypt
funcionó para mí.
$sudo apt-get install php5-mcrypt
$sudo php5enmod mcrypt
Resolví esto al desinstalar XAMPP e instalar WAMP. Gracias por la ayuda.
Revisa todos los paquetes que has instalado para php usando:
yum list installed | grep remi
Instale todos los paquetes php relevantes, especialmente php-devel en su máquina.
Sé que debería sonar tonto ... pero rara vez sucede.
Compruebe si está intentando ejecutar php desde
**http://localhost/info.php**
y no de
file:///var/www/info.php
ps> puedes notar que si escribes desde shell
php info.php
responde con el código (significa funciones php) ..
Si tienes una configuración como esta:
<VirtualHost *:80>
ServerName example.com
DocumentRoot "/var/www/example.com"
<FilesMatch "/.php$">
SetHandler "proxy:fcgi://127.0.0.1:9000"
</FilesMatch>
</VirtualHost>
Descomente las siguientes líneas en su httpd.conf
LoadModule proxy_module lib/httpd/modules/mod_proxy.so
LoadModule proxy_fcgi_module lib/httpd/modules/mod_proxy_fcgi.so
Esto funciona para mi
Tuve un caso en el que accidentalmente comencé a deshacer el directorio de mis archivos en la raíz. Agregó el archivo .htaccess de mi carpeta de archivos que bloquearía todo php
# If we know how to do it safely, disable the PHP engine entirely.
<IfModule mod_php5.c>
php_flag engine off
</IfModule>
Línea inferior compruebe el archivo .htaccess en la raíz.
Tuve un problema similar pero en mi caso la solución fue diferente. mi archivo que contenía el código php se llamaba "somename.html" lo cambié a "somename.php" funcionó bien
en mi caso (Apache / 2.4.34),
despues de descomentar el modulo especifico
"LoadModule php7_module libexec / apache2 / libphp7.so"
desde
"/etc/apache2/httpd.conf"
mi problema se fue
en mi ubuntu 14.04, apache 2.4, php 5.5.9 install, probé con un sample.php en / var / www / html (raíz del documento por defecto) y funcionó bien. Entonces el problema estaba en mi configuración de Servidores Virtuales. La solución fue incluir, en la definición de directorio que contiene el .php, esta línea:
php_admin_flag engine on
nota para los usuarios de php 7, agregue esto a su archivo httpd.conf:
# PHP 7 specific configuration
<IfModule php7_module>
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
<IfModule dir_module>
DirectoryIndex index.html index.php
</IfModule>
</IfModule>
php7:
sudo a2enmod proxy_fcgi setenvif
sudo a2enconf php7.0-fpm
sudo service apache2 restart
Estoy publicando esta respuesta porque mi interfaz de administrador de Virtualmin / Webmin decidió que era una buena idea deshabilitar mi motor PHP ... me tomó un tiempo encontrar la solución, así que pensé en compartirlo con ustedes:
Además, asegúrese de verificar que ninguno de los archivos de configuración de su sitio web relacionados con este host específico o el host virtual tengan algún valor php_admin_value en ellos que desactive PHP, como esto:
php_admin_value engine Off
En caso de duda, coméntalo ...
# php_admin_value engine Off
Y reinicie su servidor web.
¡Oh Dios! Acabo de ver tu imagen publicada nuevamente, solo estás abriendo tu archivo php en el navegador. usted tiene abierto está utilizando url localhost. Si abre un archivo directamente desde su directorio, no ejecutará el código php en ningún caso.
utilizar: http://locahost/index.php
o http:127.0.0.1/index.php
habilitar código corto php en su caso, está utilizando <?
cual es el código corto de php para <?php
Por defecto los códigos cortos de php están deshabilitados.
también use: sudo apt-get install php5 libapache2-mod-php5 php5-mcrypt
si usted es un usuario de Ubuntu.