【问题标题】:Include_once in Slim Framework, ruins the headerInclude_once 在 Slim 框架中,破坏了标题
【发布时间】:2016-06-20 12:04:18
【问题描述】:

几天来,我遇到了一个问题,即我使用 Slim 框架构建的非常简单的 API 上的响应标头返回 HTML/TEXT 而不是 APPLICATION/JSON — 无论我做什么。

我发现,如果我删除文件中唯一的include_once,问题就可以解决;包含一些配置变量的文件,但将所有内容都写在一个文件中是不可行的。

我做错了什么?

【问题讨论】:

  • 听起来您的 include 正在输出使您的 json 无效的内容。
  • 是的,这是有道理的——但这只是一些带有配置数据的数组......
  • text/html 是 PHP 脚本发送的“默认”内容类型;因此,如果您的脚本尝试发送另一个标头,但没有成功,那么这可能是您的脚本在调用 header 之前生成任何类型的输出的问题......正确的错误报告和调试应该能够验证这一点,我会预计“标头已发送”警告会出现在某处。
  • configuration.php 文件,我只包含一个带有配置详细信息的Array...它不输出任何内容。
  • 您应该检查确切的响应,也许问题是 utf8 BOM。我猜不赞成票是因为如果没有任何附加信息(如所讨论的文件),这个问题不是很有用,因为现在我们只能推测。

标签: php mamp httpresponse slim


【解决方案1】:

答案是从文件中删除 BOM。 Include 带有 BOM 的文件显然会以某种方式影响响应标头。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-02-14
    • 1970-01-01
    • 2018-07-14
    • 2019-03-29
    • 1970-01-01
    • 2017-02-28
    • 1970-01-01
    • 2020-09-23
    相关资源
    最近更新 更多