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