echo http_response_code('400');
return "error";
Run Code Online (Sandbox Code Playgroud)
我有一个页面需要输出http状态
我设置http_response_code(400)并尝试使用邮递员发布。
它总是返回200。
为什么http_response_code不工作?
也许您在调用http_response_code()之前已经发送了一些输出。它会无提示地导致HTTP 200静默运行(不会发出众所周知的标头已发送)。您可以发送一些输出,但不能超过php指令的值output_buffering(请参见phpinfo页面)。通常将其设置为4096字节(4kB)。尝试将output_bufferingphp.ini 临时增加到更高的值(不要忘记重新启动Web服务器)。请注意,该output_buffering类型是类型PHP_INI_PERDIR,并且不能在运行时更改,例如通过ini_set()。
PHP_INI_PERDIR: Entry can be set in php.ini, .htaccess, httpd.conf or .user.ini
我建议使用整数而不是字符串:http_response_code(400)...只是为了与PHP doc保持一致。但是,http_response_code()对于字符串也可以很好地工作-我现在已经对其进行了测试,因此字符串不会引起您的问题,如@DiabloSteve在注释中指示的那样。
小智 -4
你需要http_response_code像这样调用两次
http_response_code(400); // this will get previous response code 200 and set a new one to 400
echo http_response_code(); // this will get previous response code which is now 400
return;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3147 次 |
| 最近记录: |