php7 - short open tag php 7
<? ?> etiquetas que no funcionan en php 5.3.1 (5)
Acabo de instalar php 5.3.1 en mi servidor Linux y ahora mi antiguo trabajo que solía escribir con etiquetas no funciona en absoluto ...
Por favor, ayúdenme. ¿Cómo puedo resolver esto?
Lo más probable es que necesite activar etiquetas cortas en su archivo de configuración de PHP. Sin conocer su configuración, no podría decir dónde la encontraría, pero está buscando php.ini (muy probablemente en algún lugar como /etc/php.ini
).
Allí, la configuración que short_open_tags
es short_open_tags
. Vea here todos los ajustes básicos de configuración para PHP. Sin embargo, como otros mencionaron, el uso de etiquetas cortas podría no ser la mejor estrategia. Here hay una buena discusión de las razones (a favor y en contra).
Parece que tienes short_open_tags establecido en "Off" en tu archivo php.ini. Intenta configurarlo en "On" y reinicia apache.
Si usas wamp o xamp, es muy fácil activarlos. Simplemente haga clic en el ícono-> servidor php-> configuración-> permitir etiqueta corta abierta
Es mejor no usar esta funcionalidad. Por ejemplo, xml usa la misma manera para abrir el encabezado en documentos.
tal vez su nueva configuración no incluye todas las etiquetas cortas. Solo usa <?php ?>
. Es una mejor práctica de todos modos.
Si aún desea usarlos, puede short_open_tag
directiva short_open_tag
. También tenga en cuenta que no funcionará si tiene etiquetas cortas deshabilitadas.
La razón principal de esto es para que pueda usar etiquetas Xml en línea.
Para habilitar las etiquetas abreviadas, habilite la directiva ini short_open_tag
de una de las siguientes maneras (lo más probable es que no todas ellas funcionen para usted):
- establezca la directiva
short_open_tag = On
en su php.ini ( la forma recomendada ); - llamar a
ini_set("short_open_tag", 1);
en tu código; agregue la siguiente línea a su archivo .htaccess:
php_value short_open_tag 1
Más explicación:
No se recomienda el uso de etiquetas cortas ( <? ?>
). Deberías usar las etiquetas de longitud completa ( <?php ?>
). La sintaxis corta está en desuso, y si desea que su aplicación sea portátil, es posible que las etiquetas abiertas no estén permitidas en otro servidor y, por lo tanto, su aplicación se romperá.
Por otro lado , el eco taquigrafía <?= $var ?>
Está habilitado por defecto desde PHP 5.4 independientemente de la configuración de php.ini y no será desaprobado. Puede usarlo en lugar de <?php echo $var; ?>
<?php echo $var; ?>
Y para el comportamiento predeterminado:
------------------------------------------------
php.ini values : short_open_tag
------------------------------------------------
PHP 4, 5_0
* Default behaviour : on
* php.ini-dist : on
* php.ini-recommended : on
PHP 5_1, 5_2:
* Default behaviour : on
* php.ini-dist : on
* php.ini-recommended : off
PHP 5_3:
* Default behaviour : on
* php.ini-development : off
* php.ini-production : off
Y la razón de desalentar las etiquetas abiertas cortas:
Esta directiva determina si PHP reconocerá o no el código entre
<?
y?>
tags como fuente PHP que deberían procesarse como tales. Ha sido
recomendado durante varios años que no utilice la etiqueta corta "atajo" y
en su lugar, use la combinación completa de etiquetas<?php
y?>
. Con el amplio uso de XML y el uso de estas etiquetas por otros idiomas, el servidor puede convertirse fácilmente
confundido y termina analizando el código incorrecto en el contexto incorrecto. Pero porque
este atajo ha sido una característica durante tanto tiempo, todavía está
compatible con la compatibilidad con versiones anteriores, pero le recomendamos que no las use.
Tenga en cuenta también este RFC rechazado sobre etiquetas abiertas cortas para plantillas: http://wiki.php.net/rfc/shortags