PHP: неверный заголовок

Может ли кто-нибудь объяснить, что не так с этим PHP-кодом? (Версия PHP 5.3.5)

<?php 
    header('Bad Request', true, 400);
    exit;

Я получаю статус 500 вместо 400. И в журнале ошибок апача я получаю

неверный заголовок из скрипта. Плохой заголовок = неверный запрос: listener.php

Что я здесь делаю неправильно? Я неправильно понял документацию?


person Svish    schedule 23.05.2011    source источник


Ответы (1)


вы должны написать:

header('HTTP/1.0 400 Bad Request', true, 400);
person Racooon    schedule 23.05.2011
comment
Спасибо! Почему он не мог понять это сам... вздох - person Svish; 24.05.2011
comment
Я считаю, что вам действительно не нужны два необязательных параметра для кодов ответов HTTP - header('HTTP/1.0 400 Bad Request') работает так же хорошо. - person HorusKol; 24.05.2011
comment
@HorusKol, да, но я должен сказать, что нахожу это довольно глупым. Код состояния — единственное, что должно быть необходимо. Разве PHP не должен знать правильный текст и что-то вроде себя? - person Svish; 24.05.2011
comment
Приводит код ответа HTTP к указанному значению. Обратите внимание, что этот параметр эффективен только в том случае, если строка не пуста. php.net/manual/en/function.header.php - person neiker; 03.12.2012