PHP no reconoce etiquetas y lo toma como HTML

Bienvenidos a VerTutoriales.com, en esta ocasión os traigo como configurar vuestro servidor, o más bien vuestro PHP para que funcione con las etiquetas <? y ?> y no tengas que utilizar <?php y ?>.

En mi caso instalé Xampp Lite, descargado de la página de Xampp, y al probar con una página web en mi LocalHost, se me quedaba la web en blanco sin mostrar nada, extrañado miré el código fuente y realmente estaba funcionando el servidor apache, pero me resultó curioso ver que las llamadas a otros archivos con include, no mostraba el código de estas, sino el include propiamente dicho.

Realicé una prueba típica con el PHPinfo();

<?

PHPinfo();

?>

y seguía sin mostrar nada, por curiosidad le cambié la etiqueta de apertura de PHP <? por <?php quedando así el código:

<?php

PHPinfo();

?>

Y funcionó sin problema, mostrandome toda la información de configuración (que es lo que hace la función PHPinfo).

Buscando una solución, pensé buscar en el php.ini a ver si venía alguna información sobre este detalle y me encontré lo 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

Nos aconseja que la etiqueta corta (<? ?>) no esté activa, para no confundir con otros lenguajes. En mi caso, utilizo en mis proyectos la etiqueta corta, y cambiarlo sería un trabajo que no me interesa. Pero PHP ya contemplaba este caso y lo han puesto de una manera configurable, así que con cambiar short_open_tag = On ya lo tendríamos solucionado.

Ya quedaría reiniciar Apache y listo! tendremos nuestro PHP funcionando con <? ?>

Espero que os sirva! Un saludo!

Te puede interesar:

11 comentarios

  • Matias commented on 6 octubre, 2012 Reply

    Hola! Mira yo tengo un problema que nose porque sucede y no entiendo porque no le he encontrado solucion. El problemas es que yo hice una funcion en php y luego la llame dentro de un codigo html. Entonces puse la etiquetas sin embargo cuando voy a ejecutarlo en un navegador no aparece nada y miro el codigo dentro del navegador y sale
    < ! - - ? php (codigo en php) ? -->. Me podrias explicar porque pasa eso?. Saludos

    • VideoTutoriales commented on 7 octubre, 2012 Reply

      Entiendo que estás en un servidor y que el fichero ha de ser PHP aunque contenga código HTML.

      Si esas dos cosas son así y no funciona, necesito más información sobre el problema.

      Un saludo!

    • VideoTutoriales commented on 7 octubre, 2012 Reply

      para incluir PHP la etiqueta es la siguiente < ?php (aquí el codigo php) ?> lo que tienes puesto de código es para comentar

  • jozher commented on 30 octubre, 2012 Reply

    gracias me sirvio mucho! tengo mas de 40 proyectos y cuando actualice apache y php ya no lo tenia asi… pense que tenia que editar todos los proyectos nuevamente…!

    GRACIAS

    • VideoTutoriales commented on 30 octubre, 2012 Reply

      Nada, yo también iba a volverme loco! hasta que encontré que era problema de la configuración, aunque aconsejan para programar PHP que se ponga con la etiqueta completa, así que hay que seguir las recomendaciones.

      Un saludo!

  • ruben commented on 13 diciembre, 2012 Reply

    gracias men, excelente info, solucione el inconveniente enseguida, thanks

    • VideoTutoriales commented on 13 diciembre, 2012 Reply

      De nada, nos lleva de cabeza las cosas “sin explicación” y que salga HTML en vez del código PHP es la única pista que tenemos 😉

      Un saludo!

  • totikes commented on 30 octubre, 2014 Reply

    Gracias me sirvió muchísimo, me estaba volviendo loco. Era por falta de ese bendito php al principio de la apertura. Eternamente agradecido.

    • videotutoriales commented on 30 octubre, 2014 Reply

      Nada! si existe el artículo es por que también nos pasó a otros jejeje

      Sin excusas para seguir programando en PHP 😉

  • Irene Mamani commented on 24 marzo, 2016 Reply

    muchas gracias, me salvo jejjeje

    • Carlos Dk commented on 4 abril, 2016 Reply

      Perfecto que te ayudé con tu problema con PHP 🙂

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *