0

由于 HTML 或空格或在发送标头之前的文件中,我之前已经看到标头警告。我知道要避免这种情况。我有一个生成 XML 文件的文件,当我在 localhost 上 运行它时,我可以成功地将内容类型设置为 XML 。当我在生产服务器上运行它时,我收到“标头已发送”警告。

我怀疑服务器上的某些东西在文件之前运行(即使我直接处理文件,而不是作为包含)。我怀疑是 WordPress,所以为了避免这种情况,我创建了一个子域并将文件放在那里,但无济于事。

如何在服务器上的文件之前检测是否正在加载某些内容?WordPress 会接管整个域、子域和所有域吗?如果是这样,有没有办法防止这种情况?我希望它在 WordPress 之外运行。

4

2 回答 2

1

您的 . 文件中可能有一个auto_prepend_file指令php.ini,但我认为您很可能在文件开头成为 BOM 的牺牲品。您应该确保您的文件保存为没有BOM 的 UTF-8(有时称为“ANSI as UTF-8”),并确保服务器也保留此编码。

于 2013-08-14T14:28:41.170 回答
0

如果您确定脚本中没有前置字符(您已检查 BOM 标记?)那么最可能的原因是网络服务器配置为自动前置文件 - 您可以通过以下方式验证这一点:

print ini_get('auto_append_file');
于 2013-08-14T14:29:33.087 回答