如果有php致命错误(用于处理AJAX请求),我试图找出如何将HTTP状态标头设置为500.
相关问题:How can I get php to return 500 upon encountering a fatal exception?
我不想使用register_shutdown_function
,我认为这不是一个优雅的解决方案。
下面的代码是一个很好的解决方案吗?
它是否总能用于致命错误?
我假设应用程序代码没有输出,直到最后echo
调用,并且没有调用flush()
函数(在调用之后阻止修改标头)。
<?php
set_status_code(500);
// ...
// (application code with no output)
// Application didn't crash up to this point,
// so we set http status code 200.
set_status_code(200);
echo $outputBuffer;
flush()
是唯一破坏所需行为的函数吗?
答案 0 :(得分:0)
如果您关闭PHP错误,只要发生致命的PHP错误,Apache就会提供500状态代码。