En este breve tutorial vamos a ver cómo puedes activar la Short Open Tag de PHP, que permiten usar tanto la etiqueta <?
como la etiqueta <?php
como etiquetas de apertura de un script PHP.
Las short tags te permiten usar las etiquetas <?
y ?>
como etiquetas de apertura y de cierre de los scripts PHP, además de las clásicas etiquetas <?php
y ?>
. Sin embargo, aunque su uso es todavía soportado, no es recomendable utilizarlas, ya que podría presentar ciertos problemas de compatibilidad con la etiqueta <?xml
de XML.
De hecho, en algunas versiones de PHP podría saltar el siguiente aviso si es que los avisos están activados:
PHP message: PHP Parse error: syntax error, unexpected end of file,
expecting elseif (T_ELSEIF) or else (T_ELSE) or endif (T_ENDIF)
Sin embargo, en caso de tener que trabajar con una aplicación PHP que use short tags, podrías preferir activarlas, aunque lo cierto es que con un find & replace en tu ID podría ser suficiente. En caso de que optes por esto, asegúrate de que mantienes la etiqueta <?=
, puesto que es ampliamente soportada y aceptada.
El caso es que siempre podrías dar con algún paquete que las use y que por diversos motivos no puedas modificar. En dicho caso, tendrías que activarlas.
Cómo activar la short open tag
Para activar la short open tag bastará con que edites el archivo php.ini
de PHP y actives la opción short_open_tag
:
short_open_tag = On
Luego, guarda los cambios y reinicia tanto PHP como tu servidor, ya sea Nginx o Apache.
Si no sabes en dónde está el archivo php.ini
, aquí tienes una pequeña lista de localizaciones del lugar en donde podría estar:
- Windows:
C:\php\php.ini
- Windows (Wamp):
C:\Wamp\bin\apache\[version_apache]\bin\php.ini
- CentOS/RHEL:
/etc/php.ini
- Ubuntu/Mint (Apache):
/etc/php/[version_php]/apache2/php.ini
- Ubuntu/Mint (FPM):
/etc/php/[version_php]/fpm/php.ini
En caso de que no encuentres el archivo, prueba a ejecutare el comando locate php.ini
, que mostrará una lista de archivos condicho nombre. También puedes usar la siguiente función en cualquier script, que mostrará por pantalla la localización del archivo:
<?php echo phpinfo(); ?>
Si no funciona os sigues sin encontrarlo, consulta el siguiente tutorial, en el que explico cómo encontrar el archivo php.ini.
Solución de problemas
Como decíamos, debes usar las short open tag con cuidado, ya que hoy en día las etiquetas XML se usan para muchas más cosas que para representar código HTML, por lo que el servidor podría no saber cómo interpretar algunas etiquetas, sin saber en dónde terminan o finalizan los scripts.
Si quieres usar las etiquetas <?xml ?>
en tus scripts, tendrás que desactivar la short open tag. De lo contrario, tu única opción será mostrar el código XML mediante PHP:
<?php echo '<?xml version="1.0"?>'; ?>
Y esto ha sido todo.