I'm trying to host a PHP web site that was given to me. I see this warning:
Warning: Unknown: Your script possibly relies on a session side-effect which existed until PHP 4.2.3. Please be advised that the session extension does not consider global variables as a source of data, unless register_globals is enabled. You can disable this functionality and this warning by setting session.bug_compat_42 or session.bug_compat_warn to off, respectively. in Unknown on line 0
What does this mean? How might I track down the source of this problem within the code?
basically you have a variable with the same name as your session. ex:
$_SESSION['var1'] = null;
$var1 = 'something';
which will reproduce this error. you can stop PHP from trying to find existing variables and warning you about them by adding these lines to your script:
ini_set('session.bug_compat_warn', 0);
ini_set('session.bug_compat_42', 0);
these values can be set in php.ini or .htaccess as well
There seem to be a few problematic possibilities here:
http://www.spiration.co.uk/post/1231/Your-script-possibly-relies-on-a-session-side-effect
says that cases like this:
$_SESSION['firstname']=$_REQUEST['firstname'];
will trigger the warning.
Additionally, I interpret this php bug content: http://bugs.php.net/bug.php?id=41540 to mean that this error may also occur when you assign a variable to the session superglobal that is not yet initialized, e.g.
//Start of script
$_SESSION['bob'] = $bob;
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With