2009-01-12 22 views
6

Estaba usando xampp para desarrollar localmente y luego instalé el PHP desde el instalador directo. Ahora bien, en algunos de mi código PHP, sólo el código PHP que comienza con "<?php "se analiza correctamente. Cualquier cosa que empieza con" <? "o" <?= "se ignora por completo y justo a la izquierda como es.¿Por qué es "<?" ya no funciona y en su lugar solo funciona "<? php"?

¿Cómo puedo ajustar la configuración a analizar ya sea prendas?

+4

que no se debería utilizar de todos modos ya que rompen declaraciones XML – d0k

+0

@ d0k <=" Sam152

Respuesta

23

Ésta es una configuración php.ini llamado

short_open_tag = 1 # (enabled) 
+0

Sí, lo sé, pero que la configuración –

+0

@Stephane:? Http: //php.net/manual/en/ini.core.php – Svish

2

puede establecer short_open_tag = On en el php.ini

20

Le recomiendo que deshabilite short_open_tag y solo trabaje con <?php. Cuando short_open_tag está habilitado, puede colisionar con XML processing instruction<?xml ya que tanto la etiqueta abierta de PHP como XML PI comienzan con un <?.

+0

Puede eludirlo haciendo esto: Sam152

4

Al usar solo <? como inicio del preprocesador de inicio, puede confundir el preprocesador con documentos XML bien formados. XML stands <? para processing-instruction, imagine un documento XHTML con XML embebido que requiere procesamiento XSLT ... El preprocesador se confundirá con la instrucción de procesamiento de la hoja de estilo y emitirá un error.

Está recomendado altamente utilizar el? Php procesador a partir etiqueta <, intente utilizar el short_open_tag = apagado en su php.ini. Además, puede intentar usar <?php ini_set('short_open_tag', 'On'); > si tiene problemas.

0

Para la versión más reciente:

short_open_tag = On 
Cuestiones relacionadas