我有index.php
个文件:
<?php
// Load resources shared across the website
include '../path/to/other_file.php';
?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es" lang="es" prefix="og: http://ogp.me/ns#">
<head prefix="article: http://ogp.me/ns/article#">
<title>Title</title>
</head>
<body>
<!-- Code -->
</body>
</html>
当我加载它时,它什么也没显示。我用this online tool来查看发生了什么。问题发生在第5行。
我可能正在使用<?
来介绍XHTML文档,但我想PHP认为以下这个词是php
(<?php //CODE ?>
)而不是xml
(<?xml version="1.0" encoding="UTF-8"?>
)
我该如何解决?我认为它被称为&#34;解析&#34;或者&#34; espacing&#34;人物。
答案 0 :(得分:3)
您可以使用简单的回声解决此问题:
peprson.marks
答案 1 :(得分:2)
出现问题的原因是,当您正在执行<?
时,PHP认为您正在尝试进入“PHP模式”,而实际上您正在尝试访问XML。对此的简单解决方案是禁用所谓的“PHP短标记”,其中PHP将<?
识别为有效的开始标记。
你可以通过各种方法做到这一点,所有方法都有效地做同样的
short_open_tag=Off
php.ini
ini_set('short_open_tag', '0');
php_value short_open_tag 0
.htaccess
<?php echo "<?xml ... ?>";
添加您的XML。答案 2 :(得分:0)
尝试发送浏览器,php文件是带有以下行的xml文件:
header("Content-type: text/xml");
在启动php标记后立即执行此操作,因此脚本可以覆盖标题