¿Por qué es & # 8220; <? & # 8221; ya no funciona y en su lugar solo & # 8220; <? php & # 8221; ¿trabajos?
Pregunta
Estaba usando xampp para desarrollar localmente y luego instalé el PHP directamente instalador Ahora, en algunos de mis códigos PHP, solo el código PHP que comienza con " <? Php
" está analizado correctamente Cualquier cosa que comience con " < ;?
" o " <? =
" se ignora por completo y se deja como está.
¿Cómo puedo ajustar la configuración para analizar cualquiera de los tokens?
Solución
Esta es una configuración de php.ini llamada
short_open_tag = 1 # (enabled)
Otros consejos
Le recomiendo que deshabilite short_open_tag
y solo funciona con <? php
. Cuando short_open_tag
está habilitado, puede colisionar con el XML instrucción de procesamiento <? xml
ya que tanto la etiqueta abierta de PHP como XML PI comienzan con un < ;?
.
Al usar solo < ;? como inicio del preprocesador, puede confundir el preprocesador con documentos XML bien formados. XML significa < ;? para procesamiento-instrucción , imagine un documento XHTML con XML incrustado que requiere procesamiento XSLT ... El preprocesador se confundirá con la instrucción de procesamiento de la hoja de estilo y arrojar un error.
Se recomienda encarecidamente utilizar la etiqueta de inicio del procesador <? php , intente utilizar el
short_open_tag = Off en su php.ini. Además, puede intentar usar <? Php ini_set ('short_open_tag', 'On'); >
si tiene problemas.
Puede configurar short_open_tag = On en php.ini
Es una opción de configuración, más información sobre: ?? http://www.php.net/ini. core (busque short_open_tag).
Para la versión más nueva:
short_open_tag = On