php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #6581 Buggy isapi PATH_INFO() under Zeus
Submitted: 2000-09-06 11:20 UTC Modified: 2001-03-06 05:22 UTC
From: rziegler at idea-net dot com Assigned:
Status: Closed Package: Other web server
PHP Version: 4.0.2 OS: Solaris 5.6 (sparc)
Private report: No CVE-ID: None
 [2000-09-06 11:20 UTC] rziegler at idea-net dot com
From config.status:
./configure --with-mysql=/usr/local/mysql3.22.32 --with-zeus=/usr/local/zeus 
--with-gd --with-config-file-path=/usr/local/zeus/php/lib --prefix=/usr/local/zeus/php --enable-libgcc

% grep DISCARD *.h
php_config.h:#define DISCARD_PATH 0
php_config.h:#define DISCARD_PATH 0

Output from various scripts:
Zeus with perl on "http://testsite.idea-net.com/cgi-bin/pinfo.pl/1/2/3?x=y":

PATH_INFO: /1/2/3
PATH_TRANSLATED: /opt/www/projects/testsite/html/1/2/3
QUERY_STRING: x=y
REQUEST_URI: /cgi-bin/pinfo.pl/1/2/3?x=y


Zeus with php3 on "http://testsite.idea-net.com/cgi-bin/pinfo.php3/1/2/3?x=y":

PATH_INFO: /cgi-bin/pinfo.php3
PATH_TRANSLATED: /opt/www/projects/testsite/cgi-bin/pinfo.php3
QUERY_STRING: x=y
REQUEST_URI: /cgi-bin/pinfo.php3/1/2/3?x=y



Zeus with php4 on "http://testsite.idea-net.com/test/pinfo.php/1/2/3?x=y":

PATH_INFO: /test/pinfo.php
PATH_TRANSLATED: /opt/www/projects/testsite/html/test/pinfo.php
QUERY_STRING: x=y
REQUEST_URI:


If you need access to a web server running Zeus
to work on this problem, I can probably set something
up.  (Assuming this is a problem and not something
stupid on my part.)

Thanks,
Rob

Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2000-09-06 16:53 UTC] rziegler at idea-net dot com
This may be a bug with the zeus webserver and its ISAPI
implementation.  Watching the ISAPI communication
between Zeus and libphp4.so for a request like:

http://test/dir/info.php/1/2/3?xyz=2

I see the following (from Zeus):

PATH_TRANSLATED: %docroot%/dir/info.php
PATH_INFO: /dir/info.php
QUERY_STRING: xyz=2
REQUEST_URI: /dir/info.php/1/2/3?xyz=2

which is exactly what php prints out.  I sent a bug
report to Zeus and will post whatever they say.
 [2000-09-13 18:31 UTC] joosters@php.net
Quick check; could you ensure that you have set Zeus up to run ISAPI
code 'out of process' ?
 [2000-11-03 20:19 UTC] sniper@php.net
reclassified.
 [2000-11-06 19:32 UTC] joosters@php.net
First of all, sorry for taking so long to reply...

When using handlers to run PHP, Zeus to map the original URL,
say www.zeus.com/foo.php/a/b/c
to -> www.zeus.com/isapi/libphp4.so/foo.php
so /foo.php becomes the PATH_INFO.
We cannot map the URL to www.zeus.com/isapi/libphp4.so/foo.php/a/b/c,
because then PHP would look for the file /foo.php/a/b/c and get very confused.
So, PATH_INFO is already being used for running PHP scripts, please use REQUEST_URI instead if you wish to get this part of the URL.

Incidentally, I have no idea why REQUEST_URI in your example is empty. Its working here with 4.0.1pl2

Ben
 [2001-03-06 05:22 UTC] joosters@php.net
PATH_INFO and PATH_TRANSLATED are fixed under Zeus 3.3.8 and
the current CVS tree of PHP. You will need to upgrade to both for the
path environment variables to be set correctly.
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Sat Dec 21 11:01:30 2024 UTC