.xml文件中的PHP错误?

JD *_*cks 3 php xml .htaccess

好的,首先,我将此行添加到我的.htaccess文件中,以便php引擎解析.xml文件中的php代码:

AddType application/x-httpd-php .php .php3 .phtml .html .xml
Run Code Online (Sandbox Code Playgroud)

之后,当我查看.xml文件时,我收到此PHP错误:

解析错误:在第1行的/var/www/vhosts/mydomain.com/httpdocs/test.xml中解析错误,意外的T_STRING

但是第1行甚至不是php,因为这是第1行:

<?xml version="1.0" encoding="utf-8"?>
Run Code Online (Sandbox Code Playgroud)

谁能告诉我这是什么问题?

谢谢.

And*_*c ॐ 10

那是因为它<?是php的短开标签.

尝试 <?php echo '<?xml version="1.0" encoding="utf-8"?>'; ?>


dan*_*sky 6

是的,悲伤但是真的,它是被视为PHP开放短标签的doctype.你有几个选择:

  1. 从XML文件列表中取出XML,以便在.htaccess文件中解析
  2. 用PHP包装所有xml声明:

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

  3. short_open_tag在.htaccess或php.ini中关闭.这意味着PHP只接受<?php作为开始标记并将忽略<?.