PHP испускает 500 на ошибках - где это документировано?
В этом вопросе OP упоминает, что PHP автоматически выбрасывает ошибку 500, когда error_reporting
выключен, и XDebug меняет это поведение.
Мне было любопытно, поскольку я никогда не слышал о том, что PHP автоматически испускает 500 штук раньше. Согласно различным цитатам и ответам на SO и в других местах, по-видимому, поведение по умолчанию PHP должно бросать заголовок 500 Internal Server Error
, если для параметра display_errors
установлено значение false.
Однако я не могу найти что-либо официальное по этому поводу. Страницы руководства на display_errors и error_reporting ничего не говорят.
Кто-нибудь знает хороший источник в документах PHP, которые говорят об этом?
Ответы
Ответ 1
Не уверен, но это могло быть добавлено в PHP 5.2.4:
- Изменен обработчик ошибок для отправки HTTP 500 вместо пустой страницы на ошибках PHP. (Дмитрий, Андрей Нигматулин)
Здесь также обсуждается список который может быть связан:
Цитирование:
Текущее время в большинстве PHP-установок используется параметр 'display_error = 0'. Этот параметр скрывает ошибки от пользователя, но может отправить ему только пустую страницу.
Предлагаемый патч отправляет ответ HTTP 500 на ошибки вместо пустых страниц. Страницы, которые уже что-то писали, не влияют.
Любые возражения или дополнения?
и предлагаемое решение/патч, как представляется, показано здесь: