2009-01-12 28 views
6

Użyłem xampp do rozwoju lokalnego, a następnie zainstalowałem PHP z bezpośredniego instalatora. Teraz w niektórych z mojego kodu PHP, tylko kod PHP, który zaczyna się "<?php „jest prawidłowo przetwarzane. Wszystko, co zaczyna się od” <? „lub” <?= "jest całkowicie ignorowane i tylko w lewo, jak jest.Dlaczego "<?" już nie działa i działa tylko "<? php"?

Jak mogę dostosować konfigurację do analizowania zarówno tokeny?

+4

nie należy ich używać w każdym razie od łamią deklaracji xml – d0k

+0

@ d0k <=” Sam152

Odpowiedz

23

jest to ustawienie php.ini nazwie

short_open_tag = 1 # (enabled) 
+0

Tak wiem, ale które ustawienia –

+0

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

2

można ustawić short_open_tag = on w php.ini

20

Polecam wyłączenie short_open_tag i działa tylko z <?php. Po włączeniu short_open_tag może kolidować z XML processing instruction<?xml, ponieważ zarówno otwarty znacznik PHP, jak i XML PI zaczynają się od <?.

+0

Możesz go pominąć, wykonując następujące czynności: Sam152

4

Używając tylko <? jako start startowy preprocesora, można uzyskać pomylenie preprocesora z dobrze uformowanymi dokumentami XML. XML stoi <? dla przetwarzanie instrukcji, wyobraź sobie dokument XHTML z osadzonym XML, który wymaga przetwarzania XSLT ... Preprocesor zostanie zdezorientowany instrukcją przetwarzania arkusza stylów i wygeneruje błąd.

To nadzwyczaj polecam używać? Php procesora począwszy tag <, spróbuj użyć short_open_tag = off w pliku php.ini. Możesz także spróbować użyć <?php ini_set('short_open_tag', 'On'); >, jeśli masz problemy.

Powiązane problemy