Hello,

I have noticed messages dating back to last year discussing whether PATH_INFO works on Windows servers.

BACKGROUND:
PATH_INFO is the original term given to the environment variable that contains extra path information supplied after the end of the (in those days) executable file, such that:

http://www.foobar.com/cgi-bin/test.cgi/more/foobar/filename.html

Would actually execute /cgi-bin/test.cgi on the target server, and the $PATH_INFO environment variable would contain "/more/foobar/filename.html".  In addition, PATH_TRANSLATED would contain that same path prefixed by the context's document root, making it a fully qualified UNIX filename.

PROBLEM:
PHP seems to support this functionality on a UNIX server I run.  A request for http://www.foobar.com/hello.php/more/foobar/filename.html works exactly as the above describes, stuffing "/more/foobar/filename.html" into the $PATH_INFO php variable.

However, the problem is that when the same code is moved to a production server, it fails with a status code 500.  A request for hello.php works fine; a request for hello.php/ fails, as does hello.php/anything.  I am trying to find out if the prod. server is in fact Windows.  We have a workaround whereby we make the php a perl cgi and it works fine; i.e. hello.cgi/anything runs fine, hello.php/anything yields a 500.

HELP!
Can someone who is familiar with this component of PHP please let us know if there are any specific configuratoin parameters that would affect the way PHP resolves the target resource, or if this is a bug that was fixed in a certain release?  I did search and found many similar problems but no answers.  There is one relative post in the faqts, but it states PATH_INFO doesn't work on Windows, which is clearly not true per above CGI workaround.

Thank you in advance.

...
Kind Regards,
Albert James

Reply via email to