.xml文件中的PHP错误?

时间:2009-04-01 16:25:09

标签: php xml .htaccess

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

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

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

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

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

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

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

感谢。

3 个答案:

答案 0 :(得分:10)

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

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

答案 1 :(得分:6)

是的,可悲但是真实的,它是被视为PHP开放短标签的doctype。您有几个选择:

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

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

  3. 关闭.htaccess或php.ini中的short_open_tag。这意味着PHP只会接受 <?php 作为开头标记,并会忽略 <?

答案 2 :(得分:4)

备选方案4,除了daniel之外:删除&lt;?xml ...?&gt;声明完全。

由于'1.0'和'utf-8'是XML的默认值,因此它完全是多余的;包括XML声明在这里什么都不会带来任何好处。