Warning: session_start() [function.session-start]:

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

  • Warning: session_start() [function.session-start]:

    Hallo zusammen,

    folgendes Problem zeigt sich beim Aufrufen der Seite:

    Warning: session_start() [function.session-start]: open(/tmp/sess_xxxxxxxxxxxxxxxxxxxxxxxxxxxxx, O_RDWR) failed: Permission denied (13) in /kunden/xxxxxxxxxxx/index.php on line 1

    Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /kunden/xxxxxxxxxxxxxxxx/index.php:1) in /kunden/xxxxxxxxxxxx/index.php on line 1

    Problembeschreibung:

    Es laufen 3 Homepages über einen SSL-Proxies, die PHP-Skripte der 3 Hauptseiten sind ziemlich identisch. Rufe ich nun eine Seite von den Dreien auf, funktioniert alles problemlos, gehe ich jetzt parallel mit dem bereits geöffneten Browser auf eine der 3 anderen Homepages, dann erhalte ich die oben beschriebene Fehlermeldung.

    Vom PHP-Skript her dürfte alles in Ordnung sein,
    habe selbst mit verschiedenen Editoren geprüft, ob
    etwas vor session_start() steht, dies ist aber definitiv nicht der Fall.

    Daraufhin habe ich die PHP.ini mehrfach verändert:

    session.gc_probability auf "100"
    session.cookie_lifetime auf "0"
    session.cache_limiter von nocache auf private, public und 'private~~~expire'

    Leider zeigte sich auch dadurch keine Reaktion.



    Hat jemand eine Lösung?

  • #2
    Re: Warning: session_start() [function.session-start]:

    Original geschrieben von M. Mustermann
    Vom PHP-Skript her dürfte alles in Ordnung sein,
    habe selbst mit verschiedenen Editoren geprüft, ob
    etwas vor session_start() steht, dies ist aber definitiv nicht der Fall.
    Wollen wir wetten, dass doch?

    Kommentar


    • #3
      open(/tmp/sess_xxxxxxxxxxxxxxxxxxxxxxxxxxxxx, O_RDWR) failed: Permission denied (13)
      PHP darf nicht in das tmp-Verzeichnis schreiben.

      Kommentar


      • #4
        Re: Warning: session_start() [function.session-start]:

        Original geschrieben von M. Mustermann
        Permission denied (13)
        War das nicht "Platte voll" bzw. "I/O Error"?

        Kommentar


        • #5
          ...danke für Eure Antworten.

          Die Dateien wurden von u.a. mir mit dem UltraEdit geprüft
          und in diesem fall spricht auch dagegen, wenn man Sie Internetseiten einzelnd öffnet und nur über eine surft, es keine Probleme gibt.

          Naja, die Festplatte dürfte nicht voll sein, da Sie beim Provider liegt,
          der sagt, das alles on Ordnung ist und ich die genannten Einstellungen an der php.ini vornehmen soll, wie ich diese schon selbst getätigt habe.

          Dennoch gibt es das Problem nach wie vor.

          Kommentar


          • #6
            Ich bin ziemlich sicher, daß das im Normalfall heißt, daß das tmp-Verzeichnis voll ist oder die Platte durch einen Fehler nicht beschreibbar ist.

            Andere Meinungen?

            Kommentar


            • #7
              Original geschrieben von pekka
              Andere Meinungen?
              Evtl. existiert /tmp auch einfach nicht. Hört sich für mich ganz stark nach nem Provider Problem an. Session Path woanders hin setzen wäre jetzt mein erster Versuch.

              Kommentar


              • #8
                Sollte doch wohl klar sein, dass die "headers already sent"-Meldung nur ein Folgefehler ist - dadurch, dass die erste Meldung ausgegeben wurde, fand naemlich schon eine Ausgabe statt.

                Also analysiere und beseitige das Problem, von dem die erste Meldung spricht.
                I don't believe in rebirth. Actually, I never did in my whole lives.

                Kommentar


                • #9
                  Original geschrieben von wahsaga
                  Sollte doch wohl klar sein, dass die "headers already sent"-Meldung nur ein Folgefehler ist
                  Hat jemand (inkl. dem Threadstarter) was anderes behauptet?

                  Kommentar


                  • #10
                    Original geschrieben von pekka
                    Hat jemand (inkl. dem Threadstarter) was anderes behauptet?
                    Na wie klingt denn fuer dich das folgende?
                    Original geschrieben von M. Mustermann
                    Vom PHP-Skript her dürfte alles in Ordnung sein,
                    habe selbst mit verschiedenen Editoren geprüft, ob
                    etwas vor session_start() steht, dies ist aber definitiv nicht der Fall.
                    Also fuer mich definitiv nach dem Suchen an der falschen Stelle ... deshalb dacht ich mir, weise ich noch mal ausdruecklich drauf hin.
                    I don't believe in rebirth. Actually, I never did in my whole lives.

                    Kommentar


                    • #11
                      Das hab ich überlesen. Hast natürlich recht.

                      Kommentar


                      • #12
                        ...man bedenke, es handelt sich hierbei um einen SSL-Proxy über den der Provider etliche seiner Hosting-Pakete abwickelt.
                        Die einzelnen Seiten liegen schon in einzelnen Hosting-Paketen.

                        und nun die letzte Antwort des Provider (klingt schon besser, logischer als die davor):

                        Das Problem ist, dass das Sessionmangement von PHP aufgrund von den
                        gleichen Skripten auch die gleichen Session-Cookies verwenden möchte,
                        aber die Session-Datei, wurde mit der User-ID erstellt, welche zu erst
                        aufgerufen wurde.
                        Wenn Sie also zu erst die Domain erstedomainbeispieldomain.de aufrufen, so
                        gehört die Session-Datei dem User u232164. Wenn Sie dann allerdings mit
                        der Domain xyzbeispieldomain.de fortfahren, so wird versucht die
                        gleiche Session-Datei zu öffnen, aber allerdings von dem User u232158.

                        Wir empfehlen entweder ein eigenes Session-Management zu verwenden,
                        welches die Session-Dateien in dem Home-Verzeichnis der Datei speichert
                        oder wir können Ihnen anbieten einen der beiden Aufträge auf einen
                        anderen Server zu verschieben, dann tritt das Problem nicht mehr auf, da
                        dann pro Auftrag eine eigene Session-Datei beim Aufruf der Domains
                        verwendet wird und nicht mehr von der zweiten Domain versucht wird
                        auszulesen.







                        Kommentare erwünscht

                        Entscheide mich für das Umziehen auf andere Server,
                        wenn dieses kostenlos ist.
                        Zuletzt geändert von M. Mustermann; 26.01.2009, 14:22.

                        Kommentar


                        • #13
                          Kannst du die Einstellung session.save_path verändern? Wenn ja, müßtest Du damit das Session-Handling in einen anderen Pfad umziehen können.

                          Kommentar


                          • #14
                            Original geschrieben von M. Mustermann
                            Das Problem ist, dass das Sessionmangement von PHP aufgrund von den
                            gleichen Skripten auch die gleichen Session-Cookies verwenden möchte,
                            Nicht auf Grund der gleichen Scripte, sondern auf Grund der gleichen Domain.

                            Wenn Sie also zu erst die Domain erstedomainbeispieldomain.de aufrufen, so
                            gehört die Session-Datei dem User u232164. Wenn Sie dann allerdings mit
                            der Domain xyzbeispieldomain.de fortfahren, so wird versucht die
                            gleiche Session-Datei zu öffnen, aber allerdings von dem User u232158.
                            Das stimmt so nicht - wenn denn wirklich ueber diese Domains zugegriffen wuerde, dann bestuende das Problem nicht, weil die Cookies dann zu unterschiedlichen Domains gehoeren wuerden.

                            Wenn du was von SSL-Proxy schreibst, dann maneinst du aber vermutlich einen Zugriff ueber Adressen a la
                            https://ssl-proxy.example.com/erstedomainbeispieldomain.de/ und
                            https://ssl-proxy.example.com/xyzbeispieldomain.de/
                            - nun ja, das ist natuerlich ein und die selbe Domain, deshalb gelten dafuer gesetzte Cookies natuerlich auch fuer alles.


                            Die Session-Cookie-Einstellungen zu aendern, wuerde also schon ausreichen - wenn man auch den Pfad mit angibt, unterhalb dem diese verfuegbar sein sollen.

                            session_name fuer die einzelnen "Domains" unterschiedlich zu setzen, sollte ebenso Abhilfe schaffen - schliesslich wird der Cookie nach eben diesem benannt.
                            Dann wuerden zwar die Cookies von den "anderen" Domains ebenfalls mitgesendet werden, wenn vorhanden - aber nicht mehr beruecksichtigt, weil der Cookiename nicht zum verwendeten Session-Namen passt.

                            Laesst sich beides auch direkt aus dem Script heraus machen, mit session_name() bzw. session_set_cookie_params().
                            I don't believe in rebirth. Actually, I never did in my whole lives.

                            Kommentar


                            • #15
                              Wenn der Provider das ordentlich machen würde, hätte jedes Hostingpaket ein eigenes Verzeichnis für die Sessiondaten und es gäbe dieses Problem gar nicht erst.

                              Kommentar

                              Lädt...
                              X