ID: 43256
Updated by: [EMAIL PROTECTED]
Reported By: carsten_sttgt at gmx dot de
-Status: Open
+Status: Feedback
Bug Type: IIS related
Operating System: Windows_NT
PHP Version: 5.2.5
New Comment:
What are you using exactly with IIS? PHP FastCGI binary or ISAPI
module? (note: Only former is really useful/working properly)
Previous Comments:
------------------------------------------------------------------------
[2007-11-12 00:19:03] carsten_sttgt at gmx dot de
Description:
------------
Hallo,
in addition to Bug #42969 I've done some more tests. Tere is really
something wrong with header() together with IIS.
The behaviour is different, if I use the CGI or ISAPI.
First I must also say: I have no problem to set this header correct
with ASP, Perl or Phyton. Regardless if I use CGI or ISAPI. Of course
with CGI, the name of such a script must be prepend with "nph-".
As you can see, the only way to set the correct header/code is:
Having PHP as ISAPI and using header() twice. First with the status and
second with the location.
This is totally different to Apache, where I must use only one header()
with location and status as parameter (Testscript 2).
Especially with IIS/ISAPI, Testscript 2 should also work. Or remove the
status parameter at all: No different behaviour on different platforms.
For IIS/CGI the actual result is acceptable.
For IIS/NPH-CGI: It's not working in no way at the moment!
Regards,
Carsten
Reproduce code:
---------------
Testscript 1 (test.php):
------------------------
<?php
header('HTTP/1.0 303 See Other');
header('Location: http://www.example.com/');
?>
Testscript 2 (test.php):
------------------------
<?php
header('Location: http://www.example.com/', true, 303);
?>
Testscript 3 (nph-test.php):
----------------------------
<?php
echo "HTTP/1.0 303 See Other\r\n";
echo "Location: http://www.example.com/\r\n\r\n";
?>
Expected result:
----------------
D:\PHP>pear-request -r 0 -S http://localhost/test.php
GET http://localhost/test.php --> 303 See Other
Actual result:
--------------
Testscript 1, 2 and 3 with nph-cgi:
| D:\PHP>pear-request -r 0 -S http://localhost/nph-test.php
| GET http://localhost/nph-test.php --> ERROR: Malformed response
Testscript 1 with ISAPI:
| D:\PHP>pear-request -r 0 -S http://localhost/test.php
| GET http://localhost/test.php --> 303 See Other
Testscript 1 with CGI:
| D:\PHP>pear-request -r 0 -S http://localhost/test.php
| GET http://localhost/test.php --> 302 Object Moved
Testscript 2 with ISAPI:
| D:\PHP>pear-request -r 0 -S http://localhost/test.php
| GET http://localhost/test.php --> 303 Undescribed
Testscript 2 with CGI:
| D:\PHP>pear-request -r 0 -S http://localhost/test.php
| GET http://localhost/test.php --> 302 Object Moved
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=43256&edit=1