#36705 [Opn->Fbk]: Location header results in duplicate Status header ([f]cgi only)
| From: | mike@php.net | Date: | Sun, 12 Mar 2006 14:39:19 +0000 |
| Subject: | #36705 [Opn->Fbk]: Location header results in duplicate Status header ([f]cgi only) | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-94222@lists.php.net to get a copy of this message | ||
ID: 36705
Updated by: mike@php.net
Reported By: alisencer at gmail dot com
-Status: Open
+Status: Feedback
Bug Type: CGI related
Operating System: FreeBSD
PHP Version: 5.1.2
New Comment:
Please try using this CVS snapshot:
http://snaps.php.net/php5.1-latest.tar.gz
For Windows:
http://snaps.php.net/win32/php5.1-win32-latest.zip
Previous Comments:
------------------------------------------------------------------------
[2006-03-12 14:14:36] alisencer at gmail dot com
Description:
------------
In php-fastcgi, a header("Location: ..") call always results in an
additional "Status:" header. This causes the web server to throw a 500
Internal server error.
Identical code works perfectly in mod_php. The problem is specific to
fastcgi.
It doesn't matter what Status code the first header() call sends; the
"Location:" call always adds a second "Status: 302" line.
The effect is, that it becomes impossible to use
header("Location;..."), if at any previous point in the script a Status
header has been sent. It is also contrary to what the documentation
says:
http://de.php.net/manual/en/function.header.php
"The second special case is the "Location:" header. Not only does it
send this header back to the browser, but it also returns a REDIRECT
(302) status code to the browser unless some 3xx status code has
already been set."
(Note the last part of that paragraph)
Related: This seems to be what was happening in this bug report as
well: http://bugs.php.net/bug.php?id=33225 which
unfortunately was
closed as bogus.
Reproduce code:
---------------
$ echo "<?php header( 'Status: 301' );header( 'Location:
http://www.example.org' );?>" |
php/php-fastcgi/php5-fcgi
Expected result:
----------------
Content-type: text/html; charset=UTF-8
Status: 301
Location: http://www.example.com
Actual result:
--------------
Status: 302
Content-type: text/html; charset=UTF-8
Status: 301
Location: http://www.example.com
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=36705&edit=1