#31892 [Opn->Ver]: PHP_SELF incorrect without cgi.fix_pathinfo, but turning on screws up PATH_INFO
| From: | sniper@php.net | Date: | Fri, 11 Feb 2005 05:20:10 +0000 |
| Subject: | #31892 [Opn->Ver]: PHP_SELF incorrect without cgi.fix_pathinfo, but turning on screws up PATH_INFO | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-73844@lists.php.net to get a copy of this message | ||
ID: 31892
Updated by: sniper@php.net
Reported By: ceefour at gauldong dot net
-Status: Open
+Status: Verified
Bug Type: CGI related
Operating System: *
PHP Version: 4CVS, 5CVS (2005-02-11)
Previous Comments:
------------------------------------------------------------------------
[2005-02-09 09:34:50] ceefour at gauldong dot net
Description:
------------
Following up bug #31843, I tried to set cgi.fix_pathinfo On, which is
"weird" considering that this option says ANYthing about PHP_SELF. But
a good friend of mine pointed out it works on fixing PHP_SELF, so I
did, and to my surprise, it works!
So, my problem was solved, PHP_SELF was returning the correct value...
though not in a very elegant way, in my opinion, since who has access
to some hosting server's php.ini? Everyone but the most elite premium
services, I guess. Nonetheless it worked, so I enjoyed cherish,
fortune, and glory... for several seconds.
It turned that turning on cgi.fix_pathinfo actually screws up
PATH_INFO, at least in my configuration, which is VERY strange
considering the name of the option (shouldn't it be
cgi.fix_phpself_and_screw_up_pathinfo???) ;-)
Let me apologize for a bit of sinism but really it was just for making
fun out of it. So, phpinfo() says PATH_INFO and PATH_TRANSLATED is now
"no value". Something's good though, ORIG_PATH_* returns the correct
value (weird). It's possible to use ORIG_PATH_* but I guess I should
stick to the standards. Since that server was in heavy use, I quickly
realized that by just turning that option on, I could have caused many
pages to fail (since they rely on PATH_INFO) so I quickly turn this
option off again (I already had a workaround for PHP_SELF bug, it's not
a problem anymore but I'm still seeking for an elegant resolution on
this, in the part of PHP developers not in my part).
Reproduce code:
---------------
phpinfo()
Expected result:
----------------
PHP_SELF: phpinfo.php/test/me
PATH_INFO: /test/me
Actual result:
--------------
cgi.fix_path_info=Off:
PHP_SELF: /test/me
PATH_INFO: /test/me
cgi.fix_path_info=On:
PHP_SELF: phpinfo.php/test/me
PATH_INFO: (no value)
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=31892&edit=1