Почему "<?" больше не работает и вместо этого работает только «<? php»? - PullRequest
6 голосов
/ 12 января 2009

Я использовал xampp для локальной разработки, а затем установил PHP из прямого установщика. Теперь в некоторых моих PHP-кодах правильно анализируется только PHP-код, который начинается с "<?php. Все, что начинается с "<?" или "<?=", полностью игнорируется и просто остается как есть.

Как настроить конфигурацию для разбора токенов?

Ответы [ 6 ]

23 голосов
/ 12 января 2009

Это настройка php.ini с именем

short_open_tag = 1 # (enabled)
20 голосов
/ 12 января 2009

Рекомендую отключить short_open_tag и работать только с <?php. Когда short_open_tag включен, он может конфликтовать с инструкцией обработки XML <?xml, так как и открытый тег PHP, и XML PI начинаются с <?.

3 голосов
/ 12 января 2009

Используя только <? </strong> в качестве запуска запуска препроцессора, вы можете перепутать препроцессор с правильно сформированными документами XML. XML означает <? </strong> для инструкции обработки , представьте себе документ XHTML со встроенным XML, который требует обработки XSLT ... Препроцессор перепутает инструкцию обработки таблицы стилей и выдаст ошибку .

Настоятельно рекомендуется использовать тег запуска процессора <? Php </strong>, попробуйте использовать short_open_tag = Off в вашем php.ini. Кроме того, вы можете попробовать использовать <?php ini_set('short_open_tag', 'On'); >, если у вас возникли проблемы.

2 голосов
/ 12 января 2009

Вы можете установить short_open_tag = On в php.ini

1 голос
/ 12 января 2009

Это опция конфигурации, больше информации о: http://www.php.net/ini.core (ищите short_open_tag).

0 голосов
/ 02 февраля 2013

Для более новой версии:

short_open_tag = On
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...