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 ответ на ошибки вместо пустых страниц. Страницы, которые уже что-то написали, не затрагиваются.

Есть возражения или дополнения?

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

Другие вопросы по тегам