我要做的就是从PHP发送404
状态代码-但采用通用方式。 Router::statusCode(404)
和Router::statusCode(403)
以及任何其他有效的HTTP状态代码均应正常工作。
我知道,您可以将状态码指定为 header
的第三个参数。可悲的是,这仅在您指定string
时有效。因此,调用header('', false, 404)
不起作用。
此外,我知道,可以通过带有状态行的header
调用发送状态代码:header('HTTP/1.1 404 Not Found')
但是要做到这一点,我必须为所有状态码(Not Found
)维护一个原因短语数组(404
)。我不喜欢这样的想法,因为它某种程度上是PHP已经本身所做的重复(对于第三个header
参数)。
所以,我的问题是:是否有任何简单干净的方法来用PHP发送状态代码?
最佳答案
PHP> = 5.4.0 http_response_code
中为此提供了一个新功能。
只需执行http_response_code(404)
即可。
如果您的PHP版本较低,请尝试header(' ', true, 404);
(注意字符串中的空格)。
如果还要设置原因短语,请尝试:
header('HTTP/ 433 Reason Phrase As You Wish');
关于php - 如何在不维护状态名称数组的情况下用PHP发送状态代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44586922/