[PHP] Re: Warning?

[email protected] (tedd)
Newsgroups php.general
Message-ID <p0624080ac794ac23c6a3@[192.168.1.102]>
At 10:15 AM -0600 2/7/10, Shawn McKenzie wrote:
>tedd wrote:
>>  Hi:
>>
>>  Has anyone encountered 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
>>
>>  I seem to remember this happening before, but I don't remember the
>>  solution. As I remember, it wasn't really reporting an error, but
>>  something else. I just don't remember how I dealt with it before.
>>
>>  I don't know how to set session.bug_compat_warn to off.
>>
>>  Any ideas?
>>
>>  Cheers,
>>
>>  tedd
>>
>>  PS: I'm using php 5.2.10 and register_global is OFF.
>
>This will reproduce the error:
>
>session_start();
>$_SESSION['test'] = null;
>$test = 1;
>
>It has something to do with using a global var that is the same name as
>a session var, but the session var has to be null it seems.
>
>--
>Thanks!
>-Shawn

That's it! I remember now. I knew it was something simple and really stupid.

As it turns out, the problem here is that this error is NOT 
consistent. Most of the time you don't need to worry about what you 
name your variables and session variables. But every once in a while 
if you are in the habit of naming variables the same name as session 
variable (as I do), then the practice sometimes generates an error.

So to solve the above problem, all you have to do is use a different 
variable name than the session name for that instance -- something 
like:

session_start();
$_SESSION['session_test'] = null;
$test = 1;

But like I said, the error is only generated every once in a while 
and NOT consistently. As such, you may have scores of variables that 
match scores of sessions with no errors. But then you add just one 
more and bingo you have an error that leaves you thinking "What the 
Hell just happened?"

What is further maddening is that after you fix that error, by 
changing then name of that conflict, you can go back to naming as you 
like until another error is generated. It happens only once in a 
while and not always.

Thanks for loaning me your memory.

Cheers,

tedd

-- 
-------
http://sperling.com  http://ancientstones.com  http://earthstones.com
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.