ID:               43256
 User updated by:  carsten_sttgt at gmx dot de
 Reported By:      carsten_sttgt at gmx dot de
-Status:           Feedback
+Status:           Open
 Bug Type:         IIS related
 Operating System: Windows_NT
 PHP Version:      5.2.5
 New Comment:

> There's also this setting:
> ; cgi.nph = 1

There is no difference:
| D:\PHP>cat nph-test.php
| <?php
| header('Location: http://www.example.com/', true, 303);
| ?>
|
| D:\PHP>pear-request -r 0 -S -o http://localhost/phpinfo.php |\
| grep -E "cgi.rfc2616_headers|cgi.nph"
| cgi.nph11
| cgi.rfc2616_headers11
|
| D:\PHP>pear-request -r 0 -S http://localhost/nph-test.php
| GET http://localhost/nph-test.php --> ERROR: Malformed response

BTW:
This setting is only available with CGI, but not with ISAPI.

Regards,
Carsten


Previous Comments:
------------------------------------------------------------------------

[2007-11-17 22:20:49] [EMAIL PROTECTED]

There's also this setting:

; cgi.nph = 1

Try to turn that off / on.

------------------------------------------------------------------------

[2007-11-17 12:03:15] carsten_sttgt at gmx dot de

> what is this set in your php.ini: cgi.rfc2616_headers = 0

Now you address the NPH-CGI issue. Correct, my first tests was with
"0". Now with "1":
| D:\PHP>pear-request -r 0 -S -o http://localhost/phpinfo.php |\
| grep "cgi.rfc2616_headers"
| cgi.rfc2616_headers11

with Testscript 1:
------------------
| D:\PHP>pear-request -r 0 -S http://localhost/nph-test.php
| GET http://localhost/nph-test.php --> 303 See Other

Works now. (thanks for the hint)

with Testscript 2:
------------------
| D:\PHP>pear-request -r 0 -S http://localhost/nph-test.php
| GET http://localhost/nph-test.php --> ERROR: Malformed response

Don't work.

So we have a similar result as with ISAPI. There is only a correct
result, if you also explicitly set the "Status" header. Only setting the
"Location" header with the code parameter does not work correctly.

Regards,
Carsten

------------------------------------------------------------------------

[2007-11-16 12:46:58] [EMAIL PROTECTED]

what is this set in your php.ini:
cgi.rfc2616_headers = 0

(look in the phpinfo() output!)


------------------------------------------------------------------------

[2007-11-12 17:59:53] carsten_sttgt at gmx dot de

> What are you using exactly with IIS?
> PHP FastCGI binary or ISAPI module?

As you can see in the examples: both. Or in other words: I can't know,
if a script is used with ISAPI or CGI on a customer installation.


> note: Only former is really useful/working properly)

But this is only true for PHP. Why? With other scripting languages, I
have no problem to set this header via ISAPI.

And with PHP/ISAPI there is only one problem:
I must use first a header() call to set the status, and then I can use
header() with location.
| header('HTTP/1.0 303 See Other');
| header('Location: http://www.example.com/');
(The first header() call is normaly only necessary, if I want change
the default reason phrase)

But what ever happens in the PHP core during the first header call,
should also done from PHP, if I use the status parameter in header()
(like it works with Apache):
| header('Location: http://www.example.com/', true, 303);


Regarding PHP/CGI:
A CGI which want set/use it't own headers (not parsed from the server),
must have a script name which starts with "nph-" (that's not only true
for IIS, also for other webservers). But if the name from a PHP script
is e.g. "nph-test.php", there is no correct output at all.
(as before, with other scripting languages, this works without
problems.)

(Or all together: With other scripting languages I use the same
documented command(s) to set the header on all webservers in the same
way. Only with CGI I must rename the script. With PHP the same command
does work different on different webserver and nph-CGI does't work at
all.)

Regards,
Carsten

------------------------------------------------------------------------

[2007-11-12 11:23:51] [EMAIL PROTECTED]

What are you using exactly with IIS? PHP FastCGI binary or ISAPI
module? (note: Only former is really useful/working properly)

------------------------------------------------------------------------

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/43256

-- 
Edit this bug report at http://bugs.php.net/?id=43256&edit=1

Reply via email to