如何在PHP错误上设置Apache HTTP 503错误代码而不是HTTP 500

时间:2011-03-17 18:41:15

标签: php error-handling apache2 http-status-code-503

一旦PHP错误显示关闭,PHP错误如何通过HTTP 503(服务不可用)替换Apache HTTP 500(内部服务器错误)错误的任何想法?这是更好的选择,让蜘蛛很快回到网站......

P.S。 如果可能的话,能够将Retry-After附加到50x错误代码会很棒......

欢呼声, /马尔钦

2 个答案:

答案 0 :(得分:2)

我假设您指的是throwing a 500 if an error occurs的PHP的新(自5.2.4)默认行为,并且没有其他输出。

AFAIK,这种行为是硬编码的,如果不改变PHP本身,你将无法改变它。

最简单的方法可能是设置custom error handler,然后为你投掷503:

header("HTTP/1.1 503 Service Unavailable");
echo "--- error message here -----";
die();

答案 1 :(得分:0)

我想知道你是否能做类似Apache的事情

Redirect 503 /error/500 /maintenance.html 

ErrorDocument 500 /error/500 

指令?