ID: 16458 Updated by: [EMAIL PROTECTED] Reported By: [EMAIL PROTECTED] Status: Closed Bug Type: Output Control Operating System: Win32 (XP) PHP Version: 4.1.1 New Comment:
If this bug doesn't exist with the Linux/Apache module it is ok for me - if it is this doesn't "work for me" at all... Reason: my application framework uses output buffering so headers don't get sent until ob_end_flush() is called. Especially any caching headers are /modified/ depending on results of the application computations. So it is not quite "easy" to "code around this 'bug'" - the caching headers are pre-set as soon as a session is established, and are not modifyable afterwards. In fact this 'bug' disables me to sent pages being cacheable, increasing server load and network traffic. And, with NetScape 4.x clients, pages resulting from posted forms cannot be resized (NS 4.x wants to resend the POST data to redraw the non-cacheable data). Any idea when 4.2.0 will be out as production version? On our production servers I cannot use an RC or -dev version, I need the stable build, so I have 4.1.2/RedHat Linux running there (cannot crosscheck the problem on the server just now). Previous Comments: ------------------------------------------------------------------------ [2002-04-05 13:37:09] [EMAIL PROTECTED] Reproduced with 4.1.2, but it works fine for me with 4.3.0-dev. You might want to try 4.2.0RC2 from www.php.net/~derick . Anyway, it should be easy to code around this 'bug'. ------------------------------------------------------------------------ [2002-04-05 13:29:24] [EMAIL PROTECTED] >From the docs: 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 if you pass in FALSE as the second argument you can force multiple headers of the same type. At least with PHP 4.1.1/Win32(XP), this is NOT true - headers are always added up. Using this little test: <?php header('X-Test-Header: Version 1'); header('X-Test-Header: Version 2'); ?> this output is created: ------------------------------------- php headers.php X-Powered-By: PHP/4.1.1 X-Test-Header: Version 1 X-Test-Header: Version 2 Content-type: text/html ------------------------------------- According to the docs, only "Version 2" of the header should be sent. The results are identical if you do not provide the "replace" parameter, or if you set it to true or false. This is a very annoying bug, and for my application I'd rate it "critical". ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=16458&edit=1