ID: 27345
User updated by: php_bugs at ecora dot de
Reported By: php_bugs at ecora dot de
Status: Open
Bug Type: CGI related
PHP Version: Irrelevant
New Comment:
> PHP parses that and turns it into a Status: line if you use CGI.
Ok, my mistake. I don't know, that PHP will parse the headers when
running via CGI. And because of the 500 Internal server error (see the
first posting) i believed that there is a documentation bug.
OK, there is no documentation bug, there is a small PHP bug.
Thank you for your great and very fast support!
Previous Comments:
------------------------------------------------------------------------
[2004-02-22 19:19:53] [EMAIL PROTECTED]
There's no reason for the CGI sapi cutting of the reason-phrase when
creating the Status: line, is there?
The Status: header that it's outputting is invalid.
------------------------------------------------------------------------
[2004-02-22 17:35:38] [EMAIL PROTECTED]
See cgi.rfc2616_headers php.ini directive.
------------------------------------------------------------------------
[2004-02-22 15:41:39] [EMAIL PROTECTED]
Nope, that's simply not true.
It doesn't matter what you pass to header().
What matters is the output created by PHP, and if you use
header("HTTP/1.0 404 Foo Bar"); PHP parses that and turns it into a
Status: line if you use CGI.
------------------------------------------------------------------------
[2004-02-22 09:32:52] php_bugs at ecora dot de
I don't know. Maybe there is also a PHP Bug, but IMHO there is at least
a documentation bug. When you send a HTTP-Status-Header via the common
gateway interface to the http-server, then you have to write:
Status: ddd string
instead of
HTTP/1.1 ddd string
Please take a look at the CGI-Specification :
http://hoohoo.ncsa.uiuc.edu/cgi/out.html
PARSED HEADERS
The output of scripts begins with a small header. This header consists
of text lines, in the same format as an HTTP header, terminated by a
blank line (a line with only a linefeed or CR/LF).
[..]
Status
This is used to give the server an HTTP/1.0 status line to send to the
client. The format is nnn xxxxx, where nnn is the 3-digit status code,
and xxxxx is the reason string, such as "Forbidden".
------------------------------------------------------------------------
[2004-02-22 06:11:02] [EMAIL PROTECTED]
Well, to be correct, PHP just sends "Status: 404\r\n".
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
http://bugs.php.net/27345
--
Edit this bug report at http://bugs.php.net/?id=27345&edit=1