phpbar.de logo

Mailinglisten-Archive

[php] pro oder kontra: PHP-Session-Handling

[php] pro oder kontra: PHP-Session-Handling

Martin Adler martin.adler at continum.net
Die Sep 19 13:40:44 CEST 2006


Hallo Yankee,

yankee wrote:
> 
> Hannes H. wrote:
>> Mahlzeit, liebe PHPler!
>>
>> Ich mach mir schon länger Gedanken darüber, ob irgend etwas dagegen
>> spricht, das eingebaute Session-Handling von PHP einzusetzen. Ich habe
>> irgendwo im Hinterkopf, dass es da mal Probleme gab, bin mir aber
>> nicht sicher. Aus diesem Grund habe ich mir selbst eines gebastelt,
>> allerdings in PHP implementiert und aufwendig zu warten.
>>
>> Nun meine Frage an euch: Seht ihr es problematisch, das
>> PHP-Session-Handling produktiv einzusetzen?
>>
>> Hannes Halenka
> 
> Für einfach Sachen reicht das php-Sessionsystem.
> Aber einmal habe ich mir ein eigenes sessionsystem geschrieben und das 
> verwende ich jetzt immer.
> Man hat so einfach mehr Kontrolle über das System. Kontrolle darüber, 
> wie lange eine Session braucht, bis sie austimed usw.
> Ausserdem ist es viel einfacher so Sachen zu machen wie anzuzeigen, wer 
> gerade eingeloggt ist. Wenn du einen root-Server hast, kannst du zwar 
> auch so irgendwie an die Datei dran, in der php seine Sessions 
> speichert, aber wenn nicht, kannst du nicht auf die Daten anderer 
> Sessions zugreifen. Das wirst du aber müssen um eine onlineanzeige zu 
> machen...
> 
> Mein Sessionsystem besteht aus einer mysql-Tabelle:
> id (char(32)) -- enthält eine MD5-Summe als ID. Du kannst dir mit uniqid 
> (http://de2.php.net/manual/en/function.uniqid.php) oder so eine solche 
> id generieren
> userid INT -- naja... userid eben :-)
> timestart -- INT  timestamp, wann die session anfing
> timelast -- INT wann die letzte Aktion ausgeführt wurde.
> 
> und dann ggf. noch mehr. Kommt eben drauf an, ob du in deiner Umgebung 
> noch was brauchst...

Soweit ich gesehen habe war bisher nichts dabei was man nicht mit der 
PHP Session ebenfalls realisieren könnte.
http://de3.php.net/manual/en/ref.session.php

Alle Session-Konfigurationsoptionen sind *PHP_INI_ALL* und lassen sich 
somit auch in den Skripten anpassen
z.B. session.save_path, session.gc_maxlifetime ...

Auch lassen sich die Sessions in eine Datenbank schreiben mit 
session_set_save_handler().

Denke der Aufwand, eine eigene Sessionverwaltung zu implementieren 
dürfte in den seltensten Fällen nötig/gerechtfertigt sein.

grüße
Martin


php::bar PHP Wiki   -   Listenarchive