PHP头文件问题


PHP header issue

我在PHP中设置了HTTP头:

header("Content-Type: application/xml"); 

我得到了以下回复:

<?xml version="1.0" encoding="utf-8"?>
<feedback>
    <result>False</result>
</feedback>

但是当我检查报头时,它说响应类型是application/atom+xml。我需要application/xml格式的。这个问题的原因是什么?

没有理由不这样做。我刚刚用这个xml做了一个简单的测试用例,它当然对我有效。

<?php
header("Content-Type: application/xml");
?><?xml version="1.0" encoding="utf-8"?>
<feedback>
    <result>False</result>
</feedback>

要么是你的php有更多的内容没有向我们展示,要么是你的服务器软件配置错误。

根据您在回答中提供的信息,我想说您可以通过将根元素更改为不以<feed开始的任何内容来解决此问题。正如我在我的评论中所说,某些东西错误地将此解释为一个Atom提要并重写内容类型。

也就是说,假设有其他字符串(例如<rss)可能会触发对内容类型的其他重写,因此如果您能够跟踪导致错误的任何系统并消除它,那将是更好的。

我不能说什么技术解释。但是更改XML内容解决了我的问题。这是一个细微的变化。我刚刚添加了一个顶级分支元素

<?xml version="1.0" encoding="utf-8"?>
<data>
<feedback>
    <result>True</result>
</feedback>
</data>