PHP испускает 500 ошибок - где это задокументировано? - PullRequest
9 голосов
/ 19 июня 2010

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

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

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

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

1 Ответ

10 голосов
/ 19 июня 2010

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

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

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

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

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

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

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

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

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