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!

Carlos Dk

Apasionado por la enseñanza y el SEO

11 comentarios en “PHP no reconoce etiquetas y lo toma como HTML

  • el 6 octubre, 2012 a las 3:22 pm
    Permalink

    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
    . Me podrias explicar porque pasa eso?. Saludos

    Respuesta
    • el 7 octubre, 2012 a las 1:54 am
      Permalink

      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!

      Respuesta
    • el 7 octubre, 2012 a las 9:31 am
      Permalink

      para incluir PHP la etiqueta es la siguiente lo que tienes puesto de código es para comentar

  • el 30 octubre, 2012 a las 9:38 am
    Permalink

    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

    Respuesta
    • el 30 octubre, 2012 a las 10:35 am
      Permalink

      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!

      Respuesta
  • el 13 diciembre, 2012 a las 6:59 am
    Permalink

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

    Respuesta
    • el 13 diciembre, 2012 a las 9:44 am
      Permalink

      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!

      Respuesta
  • el 30 octubre, 2014 a las 4:24 am
    Permalink

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

    Respuesta
    • el 30 octubre, 2014 a las 9:14 am
      Permalink

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

      Sin excusas para seguir programando en PHP 😉

      Respuesta
  • el 24 marzo, 2016 a las 4:20 pm
    Permalink

    muchas gracias, me salvo jejjeje

    Respuesta

Deja una respuesta

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

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.