@ CIX88: Du bist also auch dort und hast damit so keine Probleme?! Ok, welche Einstellungen können so etwas überhaupt verursachen? Ich habe in dem Bereich die folgenden Settings
Code:
session.auto_start = 1
session.cookie_lifetime = 0
session.gc_maxlifetime = 10800
session.gc_probability = 1
session.cache_expire = 180
session.save_handler = files
session.use_cookies = 1
@ Verion1 und Basti: Diese Möglichkeit fällt gänzlich weg, da ich ja sessions automatisch starte (s.o. Einstellungen). Dein zweiter Vorschlag fällt ebenfalls aus, da der Effekt nicht immer auf einer bestimmten Seite auftaucht sondern plötzlich mittendrin, wo es normalerweise funktioniert. Damit scheidet auch der Vorschlag von
Basti aus.
Wie sieht das Handling aus? Ich versuche es mal zu vereinfachen.
Auf der ersten Seite wird eine Sessionvariable gesetzt, sagen wir $_SESSION['user_id'] = nnn. Auf allen folgenden Seiten wird abgefragt, ob $_SESSION['user_id'] gesetzt ist. Falls nicht => Sitzungsverlust.
Durch das autostart ist das Sessionobjekt immer vorhanden. Dadurch das der Verlust auf unterschiedlichen Seiten passiert ist auch ein simpler Programmierfehler auszuschließen (z.B. ein Redirect ohne SessionID).
--- Pendeln ---
Ich sage Euch, wo das u.a. passiert. Es ist ein gutes Beispiel, weil es viele Fehlerquellen ausschließt.
Um Newsletter zu versenden (ca. 10.000-20.000 Stück) wird ein Skript gestartet. Dieses läuft 2 Stunden und mehr. Damit das Skript nicht an Limits stößt (z.B. execution time des Servers etc., obwohl mit 90 Minuten sehr hoch gestellt, php execution time wird auch für das Skript ini_set('max_execution_time', 6000) temporär hoch gesetzt) läuft es nicht am Stück, sondern versendet jeweils 100 Newsletter, kehrt zum Browser zurück, zeigt den aktuellen Stand an und ruft das Skript dann automatisch noch einmal auf (mittels META-Refresh), um die nächsten 100 zu versenden. Ich nenne das
Pendeln. So weit klappt das. Damit liegt die Ausführungszeit stets im Minutenbereich und ist völlig unkritisch. Nach x Tausend Stück ruft der Browser die nächsten 100 auf und erhält Session abgelaufen.
Nun stehe ich da und kann mir das überhaupt nicht erklären. Und dann sagt der Kunde, das passiert manchmal und manchmal läuft es eben auch für 20.000 Aussendungen durch.
Also, wenn das nicht an 1und1 liegt... was kann es denn sonst sein?