由于HTML或空格或发送标头之前的文件,我之前看到过标题警告。我知道要避免这种情况。我有一个生成XML文件的文件,我可以 成功 在我的localhost 上运行时将内容类型设置为XML。当我在我的生产服务器上运行它时,我收到“已发送标头”警告。
我怀疑服务器上的某些东西是在文件之前运行的(即使我直接处理文件,而不是包含文件)。我怀疑是WordPress,为了避免这种情况,我创建了一个子域并将文件放在那里无济于事。
如何在服务器上的文件之前检测是否正在加载某些内容? WordPress是否接管了整个域,子域和所有内容?如果是这样,有没有办法防止这种情况?我想让它在WordPress之外运行。
答案 0 :(得分:1)
您的auto_prepend_file
中可能有php.ini
指令,但我认为您最有可能在文件开头就成为BOM的牺牲品。您应确保将文件保存为UTF-8 而不使用 BOM(有时称为“ANSI as UTF-8”),并确保服务器也保留此编码。
答案 1 :(得分:0)
如果您确定脚本中没有前置字符(您已检查过BOM标记?),那么最可能的原因是Web服务器配置为自动预置文件 - 您可以通过以下方式验证: / p>
print ini_get('auto_append_file');