Http响应代码不变,调用die()可以接受?

时间:2015-05-12 12:29:25

标签: php api httpresponse http-response-codes

我开发了一个php(5.5)API来与我服务器上的数据库连接。到目前为止,除了我想发送http响应代码的部分外,一切都运行顺利。

例如,如果在我的数据库中找不到用户,我想返回404以在我的应用程序(android)中做出相应的反应。

我无法使用以下任一项从200更改状态代码:

header("HTTP/1.1 404 Not Found, true, 404);

http_response_code(404);

但是,如果我像这样手动调用die():

http_response_code(404);
echo json_encode("Some response I want to send anyways");
die();

我得到了预期的状态代码。

这样调用die()是否可以接受?或者有更好的方法来确保我的API发送正确的响应代码吗?

感谢您花时间阅读本文。

编辑1:这不是特定于404代码的。我希望我的API也能发送其他代码。

碧玉

2 个答案:

答案 0 :(得分:1)

是的,在设置正确的响应标头后结束脚本通常是正确的操作。如果没有明确die,我不确定为什么它不起作用 - 请确保您之后不会输出任何不应该存在的数据或标题。

答案 1 :(得分:0)

使用以下内容重定向到404页面。

header("location:404.php");