PHP致命错误,代码命题的HTTP状态标头

时间:2012-11-30 11:38:39

标签: php

如果有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()是唯一破坏所需行为的函数吗?

1 个答案:

答案 0 :(得分:0)

如果您关闭PHP错误,只要发生致命的PHP错误,Apache就会提供500状态代码。

相关问题