如果出现 php 致命错误(用于处理 AJAX 请求),我试图弄清楚如何将 HTTP 状态标头设置为 500。
我不想使用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()
唯一破坏所需行为的功能吗?