好的,首先,我将此行添加到我的.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"?>
谁能告诉我这是什么问题?
感谢。
答案 0 :(得分:10)
那是因为<?
是php的短开标签。
尝试<?php echo '<?xml version="1.0" encoding="utf-8"?>'; ?>
答案 1 :(得分:6)
是的,可悲但是真实的,它是被视为PHP开放短标签的doctype。您有几个选择:
用PHP包装所有xml声明:
<?php print('<?xml version="1.0" encoding="utf-8"?>'); ?>
关闭.htaccess或php.ini中的short_open_tag
。这意味着PHP只会接受 <?php
作为开头标记,并会忽略 <?
。
答案 2 :(得分:4)
备选方案4,除了daniel之外:删除&lt;?xml ...?&gt;声明完全。
由于'1.0'和'utf-8'是XML的默认值,因此它完全是多余的;包括XML声明在这里什么都不会带来任何好处。