ChrisB: Session-Daten Schreib- oder Schreib-Lese-Sperre?

Beitrag lesen

Hi,

Das heißt, wenn ich eine session starte (mit session_start(), eine Session die schon läuft), dann werden die Session-Daten aus der Session-Datei in den Speicher geladen, es erfolgt dadurch aber keine Sperre die über das Laden hinaus anhält?

Doch.
Und zwar eine, die bis zum Scriptende oder dem vorzeitig ausgelösten Speichern der Session-Daten in die Session-Datei anhält.

Für mich hört sich das so an, als ob die anderen script-Aufrufe warten müßten und auch warten. Warten aber nicht auf das Fertiglesen* nach Lesestart, auch nicht warten auf das Fertigschreiben* nach Schreibstart, sondern warten auf die Abarbeitung des scriptes, welches die Session-Daten eher aus der Session-Datei gelesen hat.

Nein, bis das Script, dass die Sessiondatei zuvor hat öffnen lassen, diese wieder schliesst - durch explizites Wegschreiben, oder durch impliztes am Scriptende.

Damit nicht auf die Abarbeitung gewartet werden muß, soll man function.session-write-close einsetzen.

Ja.

Wenn du mit dem, wo für du die Session brauchst, fertig bist - anschliessend als nur noch bereits gelesene Werte brauchst, aber keine neuen mehr wegschreiben willst - dann solltest du sie mit session_write_close schliessen (und damit für andere Scriptinstanzen freigeben). Natürlich nur, wenn dein Script danach noch zeitaufwendige Sachen macht. Wenn es nur noch eine Ausgabe macht, bevor es sich selbst beendet, dann kann man darauf auch verzichten.

MfG ChrisB

--
Light travels faster than sound - that's why most people appear bright until you hear them speak.