Ошибка PHP в файле .xml? - PullRequest
       29

Ошибка PHP в файле .xml?

3 голосов
/ 01 апреля 2009

ОК, во-первых, я добавил эту строку в свой файл .htaccess, чтобы механизм php анализировал код php в файле .xml:

AddType application/x-httpd-php .php .php3 .phtml .html .xml

После этого при просмотре XML-файла появляется сообщение об ошибке PHP:

Ошибка разбора: ошибка разбора, неожиданный T_STRING в /var/www/vhosts/mydomain.com/httpdocs/test.xml строке 1

Но строка 1 даже не php, это строка 1:

<?xml version="1.0" encoding="utf-8"?>

Может кто-нибудь сказать мне, в чем проблема?

Спасибо.

Ответы [ 3 ]

10 голосов
/ 01 апреля 2009

Это потому, что <? это короткий открывающий тег для php.

Попробуйте <?php echo '<?xml version="1.0" encoding="utf-8"?>'; ?>

6 голосов
/ 01 апреля 2009

Да, грустно, но верно, это тип документа, который рассматривается как открывающий короткий тег PHP. У вас есть несколько вариантов:

  1. Извлечь XML из списка файлов для анализа PHP в файле .htaccess
  2. Оберните все ваши объявления XML в PHP:

    <?php print('<?xml version="1.0" encoding="utf-8"?>'); ?>

  3. Отключите short_open_tag в .htaccess или php.ini. Это означает, что PHP будет принимать только <?php как открывающий тег и игнорирует <?.

4 голосов
/ 02 апреля 2009

Вариант 4, в дополнение к Даниилу: полностью удалите объявление <? Xml ...?>.

Поскольку значения по умолчанию «XML» и «utf-8» являются значениями XML, он полностью избыточен; включая здесь объявление XML, вы ничего не получите.

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