Ich habe gerade bei meiner Seite Probleme mit dem SessionManagment unter PHP. Und zwar scheint die SessionID bei bestimmten Usern (insbesondere mit abgeschalteten Cookies) verloren zu gehen.
Zur genaueren Information:
Es gibt nur eine dynamische Seite. Zu Beginn wird im Header mit
session_start();
die Session ganz normal gestartet. Laut PHP Handbuch sollte nun PHP versuchen entweder einen Cookie anzulegen oder per URL Rewriting die SessionID per URL weiterzugeben.
Das Anlegen des Cookies klappt genauso wie das weitergeben per URL. Allerdings erzeugt PHP bei einigen Usern dennoch immer wieder eine neue SessionID und "vergisst" somit alle vorher mit session_register(); angelegten Variablen.
Nach langer Suche im Internet habe ich gelesen, daß das ganze auf einen Fehler im PHP zurückzuführen ist. Nun frage ich mich, wie ich diesen Fehler umgehen kann.
Ich habe schon versucht die ID manuell bei jeder URL zu übergeben und vor dem starten der Session mit:
session_id();
diese Session wiederherzustellen. Auch das funktioniert nicht richtig, da PHP dann sporadisch wieder eine neue Session erzeugt. Vielleicht weiss einer von euch Rat.
zur Konfiguration:
PHP 4.11 kompiliert mit --enable-trans-sid
Apache/1.3.27
und gehostet wird das ganze bei Puretec.