#45860 [Ver->Csd]: header() function fails to correctly replace all Status lines

From: Date: Tue, 02 Sep 2008 13:22:46 +0000
Subject: #45860 [Ver->Csd]: header() function fails to correctly replace all Status lines
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-128612@lists.php.net to get a copy of this message
ID: 45860 Updated by: dmitry@php.net Reported By: overlordq at gmail dot com -Status: Verified +Status: Closed Bug Type: CGI related Operating System: * PHP Version: 5.2CVS, 5.3CVS, 6CVS (2008-08-19) -Assigned To: +Assigned To: dmitry New Comment: This bug has been fixed in CVS. Snapshots of the sources are packaged every three hours; this change will be in the next snapshot. You can grab the snapshot at http://snaps.php.net/. Thank you for the report, and for helping us make PHP better. Previous Comments: ------------------------------------------------------------------------ [2008-08-19 08:40:04] overlordq at gmail dot com Description: ------------ From the documentation: --- There are two special-case header calls. The first is a header that starts with the string "HTTP/" (case is not significant), which will be used to figure out the HTTP status code to send. --- and --- The optional replace parameter indicates whether the header should replace a previous similar header, or add a second header of the same type. By default it will replace [...] --- But as can be seen below, header fails to replace headers in all cases. Reproduce code: --------------- http://toolserver.org/~overlordq/results.txt Actual result: -------------- As can be seen in the code linked above, header only truly replaces a similar header in the case if the Status is 200, for every other status code (that I've tested) PHP will output a duplicate header which does not conform to CGI spec. ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=45860&edit=1

« previous php.bugs (#128612) next »