PHP испускает 500 на ошибках – где это документировано?

В этом вопросе OP упоминает, что PHP автоматически бросает ошибку 500, когда error_reporting выключен, и XDebug меняет это поведение.

Мне было любопытно, поскольку я никогда не слышал о том, что PHP автоматически испускает 500 штук раньше. Согласно различным цитатам и ответам на SO и в других местах, по-видимому, по умолчанию поведение PHP по умолчанию вызывает заголовок 500 Internal Server Error если для display_errors установлено значение false.

Однако я не могу найти что-либо официальное по этому поводу. На страницах руководства на display_errors и error_reporting ничего не говорится.

Кто-нибудь знает хороший источник в документах PHP, которые говорят об этом?

Не уверен, но это, возможно, было добавлено в PHP 5.2.4 :

  • Изменен обработчик ошибок для отправки HTTP 500 вместо пустой страницы на ошибках PHP. (Дмитрий, Андрей Нигматулин)

Существует также такая дискуссия о внутреннем списке, который может быть связан:

  • [PHP-DEV] FW: php fastcgi

Цитирование:

Текущее время в большинстве PHP-установок используется параметр 'display_error = 0'. Этот параметр скрывает ошибки пользователя, но может отправить ему только пустую страницу.

Предлагаемый патч отправляет ответ HTTP 500 на ошибки вместо пустых страниц. Страницы, которые уже что-то писали, не затрагивают.

Любые возражения или дополнения?

и предлагаемое решение / патч, как представляется, показано здесь: