XAMPP no interpreta ni ejecuta el código PHP
No reconoce la versión reducida <?
Recientemente, tras una nueva instalación de XAMPP, compruebo que el código PHP de una aplicación web que estoy realizando, no es interpretado por XAMPP y en vez de ejecutar el código PHP, observo que los navegadores se convierten en una especie de visores de texto y me muestran el código PHP real. En mi caso, la dirección web es localhost/karmanyNET/index.php
¿Por qué ocurre esto? Una explicación es que XAMPP no reconoce la versión reducida:
<?
Para comprobar si esto es también tu problema, sustituye ese <? por <?php. Por ejemplo, imagina que tienes un archivo PHP con este código:
<?
echo 'Bienvenid@ a karmany.NET';
?>
Lo puedes dejar así:
<?php
echo 'Bienvenid@ a karmany.NET';
?>
Y al acceder ahora a localhost/karmanyNET o localhost/karmanyNET/index.php veo que ahora sí, el código PHP es interpretado. ¿Cómo podemos solventar este inconveniente de forma permanente?
Modificar php.ini: sort_open_tag
Muchas directivas de configuración relacionadas con PHP están definidas en el archivo php.ini, así que, sin perder mucho tiempo, me dirigí ahí:
C:/xampp/php/php.ini
E hice una simple búsqueda en el archivo php.ini buscando "<?". Di directamente en el clavo. El texto encontrado es el siguiente:
; This directive determines whether or not PHP will recognize code between
; <? and ?> tags as PHP source which should be processed as such. It's been
; recommended for several years that you not use the short tag "short cut" and
; instead to use the full <?php and ?> tag combination. With the wide spread use
; of XML and use of these tags by other languages, the server can become easily
; confused and end up parsing the wrong code in the wrong context. But because
; this short cut has been a feature for such a long time, it's currently still
; supported for backwards compatibility, but we recommend you don't use them.
; Default Value: On
; Development Value: Off
; Production Value: Off
; http://php.net/short-open-tag
short_open_tag=Off
La directiva short_open_tag, de forma muy simplificada, indica a PHP si debería permitirse la forma abreviada de las etiquetas de apertura de PHP (<? ?>).
Así que, como en mi proyecto estoy usando la versión reducida <?, tengo que modificar esta directiva que está dentro de php.ini. Observando el texto anterior, puedes modificar la última línea y dejarlo así:
...
; Default Value: On
; Development Value: Off
; Production Value: Off
; http://php.net/short-open-tag
short_open_tag=On
Guarda el archivo php.ini y seguidamente debes reiniciar el servidor Apache pulsando el botón 1 (primero Stop y después Start):
Ejemplo: si usted creo un archivo llamado Index.html que llama otro archivo llamado Registro.php, bajo una carpeta llamada Registros, lo primero es que esta carpeta debe de estar dentro de la carpeta “thdocs” de XAMPP o en WWW si usa WAMP, solo haga lo siguiente:
Ir a la línea de comando del explorador y escriba: localhost/registro/Index.html
Y listo!, espero le ayude en algo.
Pues bien, abro el archivo ejemplo.html, directamente desde el explorador de windows y en la barra de direcciones puedo observar que aparece: file:///C:/xamp p/htdocs/MisPro gramas/ejemplo. html
El fromulario diseñado en ele ejemplo.html funciona a las mil maravillas, sin embargo, cuando invoco el archivo calculos.php, me muestra el código fuente. Solucione este problema gracias a la recomendación de Pablo Roberto, garantice que en la línea de direcciones iniciará con localhost.
Mil Gracias
Tal vez sea eso...
El navegador me muestra todos los programas PHP en codigo. Solo ejecuta HTML.
Que configuración debo hacer en el navegador ?? o en algún otro lado ??
acabo de instalar XAMPP con todas las caracteristicas .
...................
tengo el mismo peoo!
http://localhost/tunombredeweb/
Hay gente que hace doble clic en el archivo para abrirlo y le sale solo el código php escrito.