Tengo una aplicación web en un servidor Linux que comienza con <?
Necesitaba copiar esta aplicación en un entorno Windows y todo funciona bien, excepto que una declaración SQL se representa de manera diferente. No sé si esto tiene que ver con el guión que comienza con <?php
en lugar de <?
porque no sé de dónde para permitir que el <?
del PHP.ini
modo que lo cambié a<?php
Sé que se supone que estas 2 declaraciones significan lo mismo, pero necesito probarlo <?
para asegurarme de que la aplicación sea exactamente la misma. De esta manera puedo eliminar otra posibilidad.
Gracias
php
tags
php-shorttags
seedg
fuente
fuente
Respuestas:
Conjunto
en php.ini
Y reinicie su servidor Apache.
fuente
/etc/php5/apache2/php.ini
php --ini
para localizar el archivo de configuración cargado (Archivo de configuración cargado: /etc/php5/cli/php.ini)Esto se puede hacer habilitando short_open_tag en php.ini :
Si no tiene acceso a php.ini, puede intentar habilitarlos a través del archivo .htaccess , pero es posible que la empresa de alojamiento lo desactive si está en un alojamiento compartido:
Para las personas que piensan que short_open_tags son una mala práctica a partir de php 5.4, la
<?= ... ?>
etiqueta corta será compatible en todas partes , independientemente de la configuración, por lo que no hay razón para no usarla si puede controlar la configuración en el servidor. También dicho en este enlace: short_open_tagfuente
<? echo $var ?>
etiqueta abierta corta sino de la<?= $var ?>
etiqueta abierta corta. Afaik XML no debería verse afectado.<?=
es para crear plantillas y creo que es bastante válida. Otros lenguajes de plantillas como el bigote también usan etiquetas cortas y simples{{var}}
. PHP a menudo se usa como un lenguaje de plantillas y tener que hacerlo<?php echo $var ?>
es mucho más feo que<?=$var?>
el HTML en línea.Esto se puede hacer habilitando short_open_tag en php.ini:
1.Para localizar el archivo php.ini, en la línea de comentarios, ejecute
obtendrás algo como esto,
Vea la segunda línea de la salida del comentario. El archivo estará en la ruta mencionada.
2. Abra el archivo php.ini y busque
short_open_tag
. Por defecto está enoff
cambiarlo aon
.3. Reinicie el servidor, ejecute este comentario
Gracias
fuente
Para configurar etiquetas cortas para que se abran desde un script de instalación de Vagrant en Ubuntu:
fuente
Puedo ver que todas las respuestas anteriores son solo parcialmente correctas. En realidad, todas las aplicaciones PHP del siglo XXI tendrán FastCGI Process Manager (php-fpm), así que una vez que haya agregado php-info () en su script test.php y haya verificado la ruta correcta para php.ini
IMPORTANTE: ¡entonces debe reiniciar su proceso php-fpm para que esto pueda funcionar!
y finalmente reinicie su servidor nginx / http
fuente
necesitas activar short_open_tags.
fuente
Tan simple como eso, siga los siguientes pasos:
php.ini
archivoEncuéntralo
short_open_tag
y configúralo enon
Reiniciar el servidor
fuente
En CentOS 6 (también probado en Centos 7) no puede configurar short_open_tag en /etc/php.ini para php-fpm. Tendrás error:
Debe editar la configuración de su sitio, que puede encontrar en /etc/php-fpm.d/www.conf y escribir al final del archivo:
fuente
Si está utilizando
Ubuntu
conApache+php5
, entonces en las versiones actuales hay 2 lugares donde debe cambiar ashort_open_tag = On
/etc/php5/apache2/php.ini
- esto es para las páginas cargadas a través de su servidor web (Apache)/etc/php5/cli/php.ini
- esta configuración se usa cuando inicia sus archivos php desde la línea de comandos, como:php yourscript.php
- eso se aplica a archivos php ejecutados manualmente o cronjob directamente en el servidor.fuente
si edita su archivo php.ini, recuerde reiniciar su servicio (apache2, etc.) para que las modificaciones en php.ini surtan efecto
fuente
Para los usuarios de Wamp Server hay una manera más fácil: puede habilitar esa configuración simplemente haciendo clic (izquierdo) una vez en el icono de WampServer, elija PHP -> Configuración de PHP -> etiqueta abierta corta. Espere un segundo, luego WampServer reiniciará automáticamente su PHP y también su servicio web.
Originalmente de: http://osticket.com/forums/showthread.php?t=3149
fuente
fuente
si usa xampp, notará que el archivo php.ini ha mencionado dos veces short_open_tag. Habilite el segundo para short_open_tag = On. El primero está comentado y es posible que tengas la tentación de descomentarlo y editarlo, pero un segundo short_open_tag lo anula
fuente
Si está utilizando xampp en Windows, haga lo siguiente
Encuentra short_open_tag usando la utilidad ctrl + f
Encontraras
;short_open_tag
Quite amablemente el punto y coma (;) de la línea.
y mantenerlo como
short_open_tag = on
Finalmente, reinicie su servidor Apache
fuente
Para habilitar short_open_tag para un dominio particular con php-fpm, debe editar:
Donde xxxxx es el número de socket del dominio.
Y agregue: php_value [short_open_tag] = On
fuente
Eso funciona en php7.2 en ubuntu 16, la misma respuesta que Bradley Flood, aunque el directorio en el que se almacena el archivo de configuración ha cambiado.
También puede cambiar la versión en la cadena php para que coincida con su versión instalada actualmente.
fuente
en
php.ini
Y reiniciar el servidor Apache.fuente
Cambié el short_open_tag de Off a On en mi instancia de aws centos 7 y php7 (PHP 7.0.33 (cli) (construido: 6 de diciembre de 2018 22:30:44) (NTS)), pero no refleja la página de información de php Y el código. Así que remito muchos documentos y encuentro una solución para mi caso. Agregue una línea adicional después de short_open_tag como asp_tags = Encendido después de reiniciar Apache Funciona en el código y voy a la salida correctamente
archivo php.ini
fuente
Ajuste el
asp_tags = On
yshort_open_tag = On
en ambas los archivos\apache\Apache2.2.21\bin\php.ini
y\bin\php\php5.3.8\php.ini
a continuación, reinicie el servidor Apache.fuente