ОК, во-первых, я добавил эту строку в мой .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 infact, это строка 1:
<?xml version="1.0" encoding="utf-8"?>
Может ли кто-нибудь сказать мне, в чем проблема?
Благодарю.
Это потому, что <?
является тегом для открытия PHP.
Попробуйте <?php echo '<?xml version="1.0" encoding="utf-8"?>'; ?>
<?php echo '<?xml version="1.0" encoding="utf-8"?>'; ?>
Да, грустно, но верно, это вид документа, который рассматривается как короткий тег открытия PHP. У вас есть несколько вариантов:
Оберните все ваши объявления xml в PHP:
<?php print('<?xml version="1.0" encoding="utf-8"?>'); ?>
Выключите short_open_tag
в .htaccess или php.ini. Это означает, что PHP принимает только <?php
в качестве открывающего тега и игнорирует <?
,
Альтернатива 4, в дополнение к даниэлю: полностью отказаться от объявления <? Xml …?>.
Поскольку «1.0» и «utf-8» являются значениями по умолчанию для XML, это полностью избыточно; включая декларацию XML, ничего не получает.