Re: $_SESSION problem [NOW SOLVED]
| From: | Andrew Ballard | Date: | Mon, 14 Apr 2008 14:05:17 +0000 |
| Subject: | Re: $_SESSION problem [NOW SOLVED] | ||
| References: | 1 2 3 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-272972@lists.php.net to get a copy of this message | ||
On Fri, Apr 11, 2008 at 5:34 PM, tedd <tedd.sperling@gmail.com> wrote:
> At 11:33 AM -0400 4/11/08, Daniel Brown wrote:
>
> > On Fri, Apr 11, 2008 at 10:29 AM, Ford, Mike <M.Ford@leedsmet.ac.uk>
> wrote:
> >
> > >
> > > Sounds like a register_globals=On issue....
> > >
> >
> > It does to me, as well. I know, Tedd, that on the php1.net site
> > that you mentioned to me off-list, I'm about 99% positive that it's
> > the reason. Shared hosts generally keep register_globals on and leave
> > it up to the individual customer to turn it off. On that particular
> > server, though, since it's mostly developers, I may just send out an
> > email to get feedback and turn it off at the main, and then allow
> > ya'all to override it on your individual sites.
> >
> > The thing that makes me wonder (and I haven't checked myself to
> > verify) is why two sites, on the same server, having the same
> >
>
> Hey!
>
> I found it and you were right.
>
> On my webbytedd.com site, I had a htaccess file that read:
>
> AddDefaultCharset utf-8
>
> php_value register_globals 0
> php_value magic_quotes_gpc 0
> php_value magic_quotes_sybase 0
> php_value magic_quotes_runtime 0
>
> And I didn't have that htaccess file on my sperling.com site. However, what
> fooled me was in both scripts I had:
>
> ini_set( 'register_globals', '0' );
>
> So, I thought that was the same, but apparently it's not. Maybe because my
> server had safe_mode ON it won't allow it -- I don't know. Another question
> for another time.
>
> Thanks a bunch guys!
>
> Cheers,
>
> tedd
>
> PS: I did try the session_write_close and several other suggestions, but
> none worked.
The register_globals value is something that cannot be set at runtime.
If you pass it to ini_set(), it will appear to work -- you won't get
an error and successive calls to phpinfo() will show the new value;
however, by the time PHP gets far enough down the chain to execute
your ini_set() command, PHP has already determined whether it should
register global variables. The manual indicates that this wasn't
always the case, but (not knowing the internals then or now) I don't
understand how. (The table on that page says it was PHP_INI_ALL for
versions up to 4.2.3.)
http://us.php.net/manual/en/ini.core.php#ini.register-globals
Andrew