Я запускаю PHP 5.4 на CentOS 7, и когда есть файл php, который выдает ошибку (либо исключение, либо синтаксическую ошибку), он возвращает статус HTTP 200 код вместо 500.Apache/PHP возвращает код состояния HTTP 200 на страницах ошибок
Как я могу получить его, чтобы вернуть ошибку сервера 500, когда PHP сталкивается с ошибкой?
Я пробовал смотреть другие сообщения Stackoverflow, и все они, похоже, указывают на решения по возврату вашего собственного кода ошибки 500 (который, я считаю, должен быть нормальным поведением PHP на его собственном уровне, без необходимости вручную запускать http header, согласно этой информации: PHP emitting 500 on errors - where is this documented?) Он также указывает на Xdebug как возможную проблему, но моя проблема сохраняется, даже когда я перестраиваю сервер без Xdebug.
Соответствующие настроек я являюсь:
- display_errors: на
- display_startup_errors: на
- error_reporting: -1 (это вызывает все ошибки будут сообщены)
Зачем вам это нужно? Ошибки Apache и ошибки php - это не одно и то же. –
Но он, вероятно, справится с любым исключением PHP-версии таким образом, что PHP ответит «500» автоматически. –
@Dagon Я говорю о кодах статуса http, обслуживаемых apache. Я пытаюсь получить поведение, когда ошибка PHP вызывает код состояния 500. –