【发布时间】: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