Почему «< ;?» больше не работает, а работает только «<? Php»?
Вопрос
Я использовал xampp для локальной разработки, а затем установил PHP с прямой установщик. Теперь в некоторых моих PHP-кодах только PHP-код, начинающийся с " <? Php
" правильно разобран. Все, что начинается с " <?
" или " <? =
" полностью игнорируется и просто остается как есть.
Как я могу настроить конфигурацию для разбора любых токенов?
Решение
Это настройка php.ini с именем
short_open_tag = 1 # (enabled)
Другие советы
Я рекомендую вам отключить short_open_tag
и работать только с <? php
. Когда short_open_tag
включен, он может столкнуться с XML инструкция обработки <? xml
, поскольку открытый тег PHP и XML PI начинаются с <?
.
Используя только <? в качестве запуска запуска препроцессора, вы можете спутать препроцессор с правильно сформированными документами XML. XML означает <? как инструкция обработки , представьте себе документ XHTML со встроенным XML, который требует обработки XSLT ... Препроцессор перепутает с инструкцией обработки таблицы стилей и будет выбросить ошибку.
Настоятельно рекомендуется использовать начальный тег процессора <? php , попробуйте использовать
short_open_tag = Off в вашем php.ini. Также вы можете попробовать использовать <? Php ini_set ('short_open_tag', 'On'); >
, если у вас возникли проблемы.
Вы можете установить short_open_tag = On в php.ini
Это вариант конфигурации, дополнительную информацию можно найти по адресу: http://www.php.net/ini. ядро (ищите short_open_tag).
Для более новой версии:
short_open_tag = On