SESSION error -> Your script possibly relies on a session side-effectwhich existed until PHP 4.2.3.

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Erwin Moller

    SESSION error -> Your script possibly relies on a session side-effectwhich existed until PHP 4.2.3.

    Hi group,

    Does anybody know what causes the following 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_global s is enabled. You can disable this functionality and this
    warning by setting session.bug_com pat_42 or session.bug_com pat_warn to
    off, respectively. in Unknown on line 0
    _______________ _______________ _______________ _____

    Since the whole projectcode is way too much to post here, I hope
    somebody has a clue, so I know where to start looking.

    It only happens on one Mac here in the office, and only at a certain page.
    All other Sessionlogic works as intended, also on the Mac.

    The server:
    Apache1.3/PHP 4.3,
    session.autosta rt is on.
    Sessionstorage is files.
    No register globals (of course).

    The scripts use only code like this:
    $_SESSION["bla"] = "something" ;
    No session_registe r ancient stuff.

    The Mac in question accepts cookies.
    The warning is reproducable.

    I work a lot with sessions, and this is the first time I see this
    warning on my own system.

    Can anybody help me?
    Where to start bughunting?

    I hate the fact the Warning says: "in Unknown on line 0", which isn't
    helpful at all of course.

    Regards,
    Erwin Moller
  • Erwin Moller

    #2
    Re: SESSION error -> Your script possibly relies on a session side-effectwhich existed until PHP 4.2.3.

    Erwin Moller schreef:

    <snip>

    Correction: It happens on all systems (also Windows on FF).
    (luckily)

    Looking into it myself now, but didn't find a thing yet. :-/

    Erwin Moller

    Comment

    • Rik Wasmus

      #3
      Re: SESSION error -&gt; Your script possibly relies on a session side-effect which existed until PHP 4.2.3.

      On Tue, 29 Apr 2008 13:33:19 +0200, Erwin Moller
      <Since_humans_r ead_this_I_am_s pammed_too_much @spamyourself.c omwrote:
      Erwin Moller schreef:
      >
      <snip>
      >
      Correction: It happens on all systems (also Windows on FF).
      (luckily)
      >
      Looking into it myself now, but didn't find a thing yet. :-/
      >
      Erwin Moller
      Does this trigger it:
      <?php
      ini_set('sessio n.bug_compat_wa rn',1);
      ini_set('sessio n.bug_compat_42 ',1);
      session_start() ;
      $_SESSION['foo'] = NULL;
      $foo = "foo";
      ?>

      If so, the warning will _not_ appear:
      - if $_SESSION['foo'] exists and is not null
      - there's no global variable named $foo

      Lousy error message BTW. Just act as usual I'd say, turn of
      session.bug_com pat_warn & session.bug_com pat_42.
      --
      Rik Wasmus

      Comment

      • Erwin Moller

        #4
        Re: SESSION error -&gt; Your script possibly relies on a session side-effectwhich existed until PHP 4.2.3.

        Rik Wasmus schreef:
        On Tue, 29 Apr 2008 13:33:19 +0200, Erwin Moller
        <Since_humans_r ead_this_I_am_s pammed_too_much @spamyourself.c omwrote:
        >
        >Erwin Moller schreef:
        >>
        ><snip>
        >>
        >Correction: It happens on all systems (also Windows on FF).
        >(luckily)
        >>
        >Looking into it myself now, but didn't find a thing yet. :-/
        >>
        >Erwin Moller
        >
        Does this trigger it:
        <?php
        ini_set('sessio n.bug_compat_wa rn',1);
        ini_set('sessio n.bug_compat_42 ',1);
        session_start() ;
        $_SESSION['foo'] = NULL;
        $foo = "foo";
        ?>
        Yes, it does trigger it.
        (I had to remove session_start() because that added another warning
        since I had autostart on on the machine)
        >
        If so, the warning will _not_ appear:
        - if $_SESSION['foo'] exists and is not null
        - there's no global variable named $foo
        Aha, now I get the error.

        Let me summarize: PHP is wasting time by checking if I use variablenames
        in my script that exists as a key in the $_SESSION?
        Jeeez... What a waste of CPU resources. :P

        I am surprised I never had this warning before, since I NEVER paid any
        attention to similarity in names in SESSION and my scriptvars. ;-)
        >
        Lousy error message BTW. Just act as usual I'd say, turn of
        session.bug_com pat_warn & session.bug_com pat_42.
        Thanks Rik for your clear and fast reply.

        And yes, very lousy description of the error/warning indeed.

        I'll immediately change the php.ini to surpress these nonsense warnings.

        Thanks.

        Erwin Moller

        Comment

        • Rik Wasmus

          #5
          Re: SESSION error -&gt; Your script possibly relies on a session side-effect which existed until PHP 4.2.3.

          On Tue, 29 Apr 2008 14:18:50 +0200, Erwin Moller
          <Since_humans_r ead_this_I_am_s pammed_too_much @spamyourself.c omwrote:
          Rik Wasmus schreef:
          >On Tue, 29 Apr 2008 13:33:19 +0200, Erwin Moller
          ><Since_humans_ read_this_I_am_ spammed_too_muc h@spamyourself. comwrote:
          >>
          >>Erwin Moller schreef:
          >>>
          >><snip>
          >>>
          >>Correction: It happens on all systems (also Windows on FF).
          >>(luckily)
          >>>
          >>Looking into it myself now, but didn't find a thing yet. :-/
          >>>
          >>Erwin Moller
          > Does this trigger it:
          ><?php
          >ini_set('sessi on.bug_compat_w arn',1);
          >ini_set('sessi on.bug_compat_4 2',1);
          >session_start( );
          >$_SESSION['foo'] = NULL;
          >$foo = "foo";
          >?>
          >
          Yes, it does trigger it.
          (I had to remove session_start() because that added another warning
          since I had autostart on on the machine)
          Euhm, doh, yes offcourse :).
          > If so, the warning will _not_ appear:
          >- if $_SESSION['foo'] exists and is not null
          >- there's no global variable named $foo
          >
          Aha, now I get the error.
          >
          Let me summarize: PHP is wasting time by checking if I use variablenames
          in my script that exists as a key in the $_SESSION?
          Jeeez... What a waste of CPU resources. :P
          Indeed, what a waste. I suspect turning of session.bug_com pat_42 will halt
          that checking.
          I am surprised I never had this warning before, since I NEVER paid any
          attention to similarity in names in SESSION and my scriptvars. ;-)
          As you shouldn't have to :) (and global variables should be few
          offcourse...)
          > Lousy error message BTW. Just act as usual I'd say, turn of
          >session.bug_co mpat_warn & session.bug_com pat_42.
          >
          Thanks Rik for your clear and fast reply.
          >
          And yes, very lousy description of the error/warning indeed.
          >
          I'll immediately change the php.ini to surpress these nonsense warnings.
          Nonsense indeed, amen.
          --
          Rik Wasmus

          Comment

          • Erwin Moller

            #6
            Re: SESSION error -&gt; Your script possibly relies on a session side-effectwhich existed until PHP 4.2.3.

            Rik Wasmus schreef:

            <snip>
            >I'll immediately change the php.ini to surpress these nonsense warnings.
            >
            Nonsense indeed, amen.
            Hi Rik,

            I include an ini_set routine in all my projects these days, and added
            them over there. Now the warning is gone. :-)

            And now for the fun part:
            session.bug_com pat_42 or session.bug_com pat_warn both don't exists in my
            php.ini. sigh.
            Am I expected to just add them?

            I am used to changing ini values, but never added new ones before.
            (and this is a productionserve r)
            Do you think I could just add them, kick Apache, and be done with it?

            Regards,
            Erwin Moller

            Comment

            • Rik Wasmus

              #7
              Re: SESSION error -&gt; Your script possibly relies on a session side-effect which existed until PHP 4.2.3.

              On Tue, 29 Apr 2008 15:00:35 +0200, Erwin Moller
              <Since_humans_r ead_this_I_am_s pammed_too_much @spamyourself.c omwrote:
              Rik Wasmus schreef:
              >
              <snip>
              >
              >>I'll immediately change the php.ini to surpress these nonsense
              >>warnings.
              > Nonsense indeed, amen.
              >
              Hi Rik,
              >
              I include an ini_set routine in all my projects these days, and added
              them over there. Now the warning is gone. :-)
              >
              And now for the fun part:
              session.bug_com pat_42 or session.bug_com pat_warn both don't exists in my
              php.ini. sigh.
              Am I expected to just add them?
              >
              I am used to changing ini values, but never added new ones before.
              (and this is a productionserve r)
              Do you think I could just add them, kick Apache, and be done with it?
              Sure, lots of values aren't specifically set in many normal php.ini, so
              they just take the default (which sadly in this case would be "on" for
              both of them). Just set them & reload Apache.
              --
              Rik Wasmus

              Comment

              • Erwin Moller

                #8
                Re: SESSION error -&gt; Your script possibly relies on a session side-effectwhich existed until PHP 4.2.3.

                Rik Wasmus schreef:
                On Tue, 29 Apr 2008 15:00:35 +0200, Erwin Moller
                <Since_humans_r ead_this_I_am_s pammed_too_much @spamyourself.c omwrote:
                >
                >Rik Wasmus schreef:
                >>
                ><snip>
                >>
                >>>I'll immediately change the php.ini to surpress these nonsense
                >>>warnings.
                >> Nonsense indeed, amen.
                >>
                >Hi Rik,
                >>
                >I include an ini_set routine in all my projects these days, and added
                >them over there. Now the warning is gone. :-)
                >>
                >And now for the fun part:
                >session.bug_co mpat_42 or session.bug_com pat_warn both don't exists in
                >my php.ini. sigh.
                >Am I expected to just add them?
                >>
                >I am used to changing ini values, but never added new ones before.
                >(and this is a productionserve r)
                >Do you think I could just add them, kick Apache, and be done with it?
                >
                Sure, lots of values aren't specifically set in many normal php.ini, so
                they just take the default (which sadly in this case would be "on" for
                both of them). Just set them & reload Apache.
                Thx again.
                Worked like a charm. :-)

                Regards,
                Erwin Moller

                Comment

                Working...