warnung über sessionbug in script deaktivieren

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • warnung über sessionbug in script deaktivieren

    Morgen.

    Ich bekomme in einem meiner Script dauernd die Meldung :

    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
    Ok das könnte ich auf der php.ini abstellen, wenn ich denn Zugriff darauf hätte.
    Kann ich diese Meldung in meinem PHP Script deaktivieren ?

    Wenn ja ,wie ich habe schon danach gesucht aber nichts gefunden.

    Kann mir jemand sagen woher dieser Fehler kommen kann ?

    Die Momentane Situation in dem Script ist , dass ich mehrere Frames habe ( Leider muss ich auf Kundenwunsch mit Frames arbeiten ) und in 3 dieser Frames muss ich die Session starten, dass das die Seite funktioniert.

    Ich vermute mal dass der Fehler in diesem Umstand zu suchen ist, denn aleine bringen die Scripte diesen Fehler nicht , nur im Frame.

    Kann mir jemand einen Tipp geben wie ich das lösen kann ?

    Gruß Sono

  • #2
    ini_set() ...
    carpe noctem

    [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
    [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

    Kommentar


    • #3
      thx

      Nachtrag :

      PHP-Code:
      ini_set"session.bug_compat_42" "0" );
      ini_set"session.bug_compat_warn" "0" ); 
      Wird leider einfach ignoriert , der besch... Fehler prangert noch dick und fett auf der Seite .

      Weiß jemand wie ich es vermeide , dass der überhaupt erst kommt ?

      Gruß Sono
      Zuletzt geändert von sono; 04.11.2005, 10:39.

      Kommentar


      • #4
        PHP versions 4.2.0 and lower have an undocumented feature/bug that allows you to to initialize a session variable in the global scope, albeit register_globals is disabled. PHP 4.3.0 and later will warn you, if this feature is used, and if session.bug_compat_warn is also enabled.
        Das heißt, wenn du PHP 4.3.0 und höher hast und die Funktionen aktiviert sind, dann gibts halt ne Warnung. Wenn's mit ini_set oder .htacces nicht klappt, frage mal bei deinem Hoster nach.

        Forumregeln!

        Gute PHP-(tutorial-)Seiten

        Kommentar


        • #5
          Ich würd's ja einfach mal auf off setzen ... ist bei Schaltern so üblich
          carpe noctem

          [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
          [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

          Kommentar


          • #6
            PHP-Code:
            error_reporting(E_ALL E_NOTICE E_WARNING);
            //oder einfach
            error_reporting(0); 
            Ist zwar etwas ein Flick, aber sollte dein Problem lösen.

            Gruss

            tobi
            Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

            [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
            Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

            Kommentar


            • #7
              Reicht es nicht, dem entsprechenden Befehl ein @ vorzusetzen ?

              Kommentar


              • #8
                Original geschrieben von goth
                Ich würd's ja einfach mal auf off setzen ... ist bei Schaltern so üblich
                Auschnitt aus der php.ini

                ; PHP 4.2 and less have an undocumented feature/bug that allows you to
                ; to initialize a session variable in the global scope, albeit register_globals
                ; is disabled. PHP 4.3 and later will warn you, if this feature is used.
                ; You can disable the feature and the warning separately. At this time,
                ; the warning is only displayed, if bug_compat_42 is enabled.

                session.bug_compat_42 = 1
                session.bug_compat_warn = 1
                Ich vermute mal stark , dass ich doch 0 nehmen muss, hab aber auch schon off verwendet was auch nicht geklappt hat. Auserdem auch doppelte und einfache Anführungszeichen. Ohne Erfolg.

                Das heißt, wenn du PHP 4.3.0 und höher hast und die Funktionen aktiviert sind, dann gibts halt ne Warnung.
                Dat is klar, nur durch was wird das ausgelöst ? Ich meine ich bekomme diese Meldung nur in einem einzigen Script und da hab ich eigentlich nichts anderst gemacht auser mit Frames zu arbeiten was vermuten lässt das die frames wohl was mit zu tun haben , aber was würde mich halt interessieren . Aber jetzt eigentlich auch egal sollten die anderen Lösungen funktionieren.


                Das mit dem @ muss ich mal schaun ob das hilft .

                aber am liebsten wäre mir wenn das gehen würde :

                PHP-Code:
                error_reporting(E_ALL E_NOTICE E_WARNING);
                //oder einfach
                error_reporting(0); 
                In nem Script das Online läuft sollten so oder so gar keine Fehler ausgegeben werden. ( Wenns mal fertig ist und aufm Server läuft ) .

                Ich teste das jetzt mal durch , danke für eure Antworten und eure Mühe .

                Nachtrag :
                error_reporting(0);

                Hat geklappt der Fehler wird nicht angzeigt .

                Zuletzt geändert von sono; 05.11.2005, 13:46.

                Kommentar


                • #9
                  In nem Script das Online läuft sollten so oder so gar keine Fehler ausgegeben werden. ( Wenns mal fertig ist und aufm Server läuft ) .
                  Dann solltest du aber dafür Sorge tragen, dass die Fehler in ein Log File geschrieben werden. In diesem Falle würde ich dann den Fehler abfangen und eine eigene Meldung ausgeben à la
                  PHP-Code:
                  die 'Habe beim proggen gepennt und den Fehler ned gesehen. Wird 
                  schnellstmöglich behoben. Wenn du willst kannst du mir das auch noch
                    <a href="mailto:bugs@meine_domain.tld">mitteilen</a> '

                  Sonst krieg der User einfach ne weisse Seite und denkt sich den Rest...

                  Gruss

                  tobi
                  Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                  [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                  Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                  Kommentar


                  • #10
                    Ich programmiere nur noch PHP5 und verwende Exceptions , das ist etwas eleganter als die() .

                    Meine User bekomme keine PHP Fehlermeldung , sondern das was ich ihnen ausgebe und die Seite wird trotz Fehler ( je nach Fehler halt ) korrekt aufgbebaut.

                    Ich meinte dass User sollten keine PHP Fehlermeldung zu sehen bekommen sollen, das sollte nicht heißen ,dass man keine Fehlermeldungen im Programm ausgeben sollte , da haben wir wohl etwas aneinander vorbeigeredet .

                    Gruß Sono

                    Kommentar

                    Lädt...
                    X