Как установить код ошибки Apache HTTP 503 вместо HTTP 500 при ошибке PHP - PullRequest
1 голос
/ 17 марта 2011

есть идеи, как заменить ошибку Apache HTTP 500 (внутренняя ошибка сервера) на HTTP 503 (служба недоступна) при ошибке PHP, когда отображение ошибки PHP отключено? Это гораздо лучший вариант, чтобы сообщить паукам, что скоро нужно вернуться на сайт ...

P.S. было бы замечательно иметь возможность добавлять Retry-After к 50-кратным кодам ошибок, если это возможно ...

ура, / Marcin

Ответы [ 2 ]

2 голосов
/ 17 марта 2011

Я предполагаю, что вы ссылаетесь на новое (начиная с 5.2.4) поведение PHP по умолчанию: , выбрасывающее 500, если возникает ошибка , а другие выходные данные не выполняются.

AFAIK,это поведение жестко запрограммировано, вы не сможете изменить его без изменения самого PHP.

Самый простой способ - это установить пользовательский обработчик ошибок и получить503 для вас:

header("HTTP/1.1 503 Service Unavailable");
echo "--- error message here -----";
die();
0 голосов
/ 21 января 2013

Интересно, вы могли бы сделать что-то вроде Apache

Redirect 503 /error/500 /maintenance.html 

по директиве

ErrorDocument 500 /error/500 

?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...