#21575 [Com]: 4.2x to 4.3 Compatibility issue
| From: | andrey at cherezov dot koenig dot su | Date: | Tue, 21 Jan 2003 00:55:06 +0000 |
| Subject: | #21575 [Com]: 4.2x to 4.3 Compatibility issue | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-30751@lists.php.net to get a copy of this message | ||
ID: 21575
Comment by: andrey@cherezov.koenig.su
Reported By: ulysses@mail.fitan.com.tw
Status: Bogus
Bug Type: IIS related
Operating System: Any
PHP Version: 4.3.0
New Comment:
See bug http://bugs.php.net/bug.php?id=21716
Thanks to Milky!
Use cgi.fix_pathinfo=0 in 4.3.0 php.ini to solve this problem.
Previous Comments:
------------------------------------------------------------------------
[2003-01-18 07:02:44] andrey@cherezov.koenig.su
Compare these PhpInfo() outputs:
http://php430.eserv.ru/php_info.php/path/info?query
http://php423.eserv.ru/php_info.php/path/info?query
Same web-server, same php.ini, very different environment variables!
(of course, web-server pass the same variables, but 4.3.0 damages them!
;) PATH_INFO disappears in 4.3.0 :(
------------------------------------------------------------------------
[2003-01-18 06:35:03] andrey@cherezov.koenig.su
shane@caraveo.com wrote:
>For 4.3, cgi variables were changed to correctly conform to
>cgi specs. This means that
>PATH_INFO is now in fact PATH_INFO as per:
>http://hostname/script_name.php/path/info?query_string
You may try this URL url on Win32 web-server with PHP 4.3.0 as CGI and
YOU WILL SEE - for this URL PHP will not show PATH_INFO variable,
passed to it by web-server! Web-server pass PATH_INFO=/path/info (for
this URL), but PhpInfo() in PHP 4.3.0 will NOT show PATH_INFO in the
list! All old 4.2.x versions works OK with this case, and previous
4.3.0-dev too, but in 4.3.0 just drop PATH_INFO in any case. This is
definitely 4.3.0 BUG.
------------------------------------------------------------------------
[2003-01-13 11:26:28] shane@caraveo.com
register globals has nothing to do with this. For 4.3, cgi variables
were changed to correctly conform to cgi specs. This means that
PATH_INFO is now in fact PATH_INFO as per:
http://hostname/script_name.php/path/info?query_string
Use SCRIPT_NAME or PHP_SELF if you need to refer to /script_name.php,
and use SCRIPT_FILENAME if you need to get the full path to
script_name.php
------------------------------------------------------------------------
[2003-01-13 06:15:51] wez@php.net
In PHP 4.2.0, the 'register_globals' setting default changed to
'off'. See http://www.php.net/release_4_2_0.php for more info.
We are sorry about the inconvenience, but this change was a necessary
part of our efforts to make PHP scripting more secure and portable.
------------------------------------------------------------------------
[2003-01-13 05:30:53] taomyn@hotmail.com
How can a PHP variable which existed when running 4.2.3 then
disappears, without a mention that it was going to, when running 4.3.0
not be considered a bug?
I have the same problem here. Yes, PHP has to rely on the server
environment for the values to the PHP Variables, but if one version of
PHP can see it and a newer one cannot, then surely the code has been
modified incorrectly in the newer version. Nothing else has changed on
my server - I can easily test this by having PHP in two different
directories, PHP.4.2.3 and PHP.4.3.0. Naming each to PHP in turn and
running the phpinfo() command produces a version with PHP_INFO, i.e.
for 4.2.3 and one without, for 4.3.0
Regards,
Taomyn
------------------------------------------------------------------------
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/21575
--
Edit this bug report at http://bugs.php.net/?id=21575&edit=1