Perché è & # 8220; <? & # 8221; non funziona più e invece solo & # 8220; <? php & # 8221; lavori?
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?
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