Perché è & # 8220; <? & # 8221; non funziona più e invece solo & # 8220; <? php & # 8221; lavori?

StackOverflow https://stackoverflow.com/questions/435705

  •  22-07-2019
  •  | 
  •  

Domanda

Stavo usando xampp per sviluppare localmente e quindi ho installato il PHP direttamente installatore. Ora in alcuni dei miei codici PHP, solo il codice PHP che inizia con " <? Php " è analizzato correttamente. Tutto ciò che inizia con " < ;? " oppure " <? = " viene completamente ignorato e lasciato così com'è.

Come posso regolare la configurazione per analizzare entrambi i token?

È stato utile?

Soluzione

Questa è un'impostazione php.ini chiamata

short_open_tag = 1 # (enabled)

Altri suggerimenti

Ti consiglio di disabilitare short_open_tag e funziona solo con <? php . Quando short_open_tag è abilitato, può scontrarsi con il XML istruzioni di elaborazione <? xml poiché sia ??il tag aperto PHP che il PI XML iniziano con un < ;? .

Utilizzando solo < ;? come avvio del preprocessore, è possibile confondere il preprocessore con documenti XML ben formati. XML indica < ;? per istruzioni di elaborazione , immagina un documento XHTML con XML incorporato che richiede l'elaborazione XSLT ... Il preprocessore verrà confuso con le istruzioni di elaborazione del foglio di stile e genera un errore.

Si consiglia vivamente di utilizzare il tag di avvio del processore <? php , prova a utilizzare il short_open_tag = Off nel tuo php.ini. Inoltre, puoi provare a utilizzare <? Php ini_set ('short_open_tag', 'On'); > se riscontri problemi.

Puoi impostare short_open_tag = On in php.ini

È un'opzione di configurazione, maggiori informazioni su: http://www.php.net/ini. core (cerca short_open_tag).

Per la versione più recente:

short_open_tag = On
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top