SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

PHP 5.3 & MySQL 5.1

PHP 5.3 & MySQL 5.1 zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Grundlagen
Hilfe Community Kalender Heutige Beiträge Suchen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 13.10.2005, 00:53:09
morsche morsche ist offline
Anfänger
 
Registriert seit: Dec 2004
Beiträge: 50
Session Variablen / Session lifetime

morsche,

isch hab ein Problem:
Ziel ist es, bestimmte userspezifische Daten über einen Zeitraum von 90 Tagen zu speichern (History von Suchanfragen). Mittels session_set_cookie_params() habe ich entsprechend die Lebenszeit der Session-Cookies auf 60*60*24*90 gesetzt.

Soweit so gut. Im Prinzip funktioniert alles - die Variablen werden zunächst gespeichert und wie gewünscht ausgegeben, aber nach einem mir noch unbekannten Zeitraum (definitiv weniger als 90, eher ein paar Tage) sind die Variablen futsch und ich weiß nicht, warum.

Anhand dessen, was ich bisher gelesen habe, dürfte es auch nicht an der standardmäßig auf 180 Min. eingestellten session_cache_expire()-Zeit liegen.

Ich habe früher ausschließelich mit Perl und nicht sonderlich viel mit Sessions gearbeitet und wenn, dann auf eine andere Weise. Ich habe es mir mittlerweile nach vielem Hin und Her angewöhnt, die Sessions nicht in der Datenbank abzulegen, sondern einfach die Variablen in der Session zu speichern und dann direkt abzufragen. Wenn es daran liegt, also dass ich die Variablen besser in der Datenbank speichern sollte, sagt es mir :).
Es würde mich interessieren, ob es generell sinnvoller ist, die Variablen in der Datenbank zu speichern und mittels der SessionID darauf zurückzugreifen - dies erschien mir nämlich bisher immer etwas zu aufwendig, falls die zu speichernden Daten nicht weiter relevant sind und auch nicht aufbewahrt werden müssen (außer für den Anwender).

Also, lange Rede, kurzer Sinn - hat jemand eine Idee?

thx und Grüße
Mit Zitat antworten
  #2  
Alt 13.10.2005, 05:36:59
Benutzerbild von meikel (†)
meikel (†) meikel (†) ist offline
SELFPHP Guru
 
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
AW: Session Variablen / Session lifetime

Zitat:
Zitat von morsche
Ziel ist es, bestimmte userspezifische Daten über einen Zeitraum von 90 Tagen zu speichern (History von Suchanfragen). Mittels session_set_cookie_params() habe ich entsprechend die Lebenszeit der Session-Cookies auf 60*60*24*90 gesetzt.

Soweit so gut. Im Prinzip funktioniert alles - die Variablen werden zunächst gespeichert und wie gewünscht ausgegeben, aber nach einem mir noch unbekannten Zeitraum (definitiv weniger als 90, eher ein paar Tage) sind die Variablen futsch und ich weiß nicht, warum.
session.gc_maxlifetime möchte auch so lange leben wie der Session-Keks.

Zitat:
Ich habe es mir mittlerweile nach vielem Hin und Her angewöhnt, die Sessions nicht in der Datenbank abzulegen, sondern einfach die Variablen in der Session zu speichern und dann direkt abzufragen. Wenn es daran liegt, also dass ich die Variablen besser in der Datenbank speichern sollte, sagt es mir :).
Du solltest mal daran denken:
session_set_save_handler -- Setzt benutzerdefinierte Session-Speicherfunktionen

Im Handbuch findest Du in den Userkommentaren Beispiele, wie man die Session anstelle in einem Sessionfile in einer Datenbank speichern kann. Beachte dabei ebenfalls die Userkommentare zu serialize(), damit Du mit der neu zu schreibenden Funktion write() den Inhalt von $_SESSION unabhängig vom Inhalt komplett und ohne Stringfehler in die Datenbank schreibst und zurücklesen kannst.

Bevor Du fragst: es funktioniert bestens.
Mit Zitat antworten
  #3  
Alt 13.10.2005, 14:04:06
morsche morsche ist offline
Anfänger
 
Registriert seit: Dec 2004
Beiträge: 50
AW: Session Variablen / Session lifetime

Hört sich vielversprechend an, aber bevor ich mir damit Arbeit mache, versuche ich es erstmal mit session.gc_maxlifetime. Denn die Grundfunktionalität ist ja gegeben und wenn es über einen Zeitraum von ein paar Stunden oder paar Tagen gespeichert werden kann, dann dürfte eine Erweiterung auf 90 Tage wohl auch kein Problem sein.

Falls es nicht klappt, versuche ichs mal mit session_set_save_handler. Aber wenn ich nicht muss, möchte ich es auch nicht in der DB speichern.
Mit Zitat antworten
  #4  
Alt 14.10.2005, 13:47:12
morsche morsche ist offline
Anfänger
 
Registriert seit: Dec 2004
Beiträge: 50
AW: Session Variablen / Session lifetime

leider funktioniert es nicht, wie ich es bisher probiert habe:

PHP-Code:
$expireTime 60*60*24*50;  
  
ini_set('session.use_cookies'true);
ini_set('session.gc_maxlifetime'time() + $expireTime);
ini_set('session.cookie_lifetime'time() + $expireTime);  
ini_set('session.serialize_handler''php');  
ini_set('session.gc_probability'1);  
   
session_set_cookie_params($expireTime); 

session_start(); 
(hab's vorher ohne time() versucht, wie ich es eigentlich für richtig hielt. Dann habe ich es aber so gefunden und direkt übernommen. Da es aber bei session_set_cookie_params() auch nur ohne time() geht, könnte es ja sein, dass es bei dem entsprechenden ini_set Befehl auch nicht funktioniert.)

Ich frage mich, wieso sich keine Änderung bemerkbar macht - müsste doch eigentlich funktionieren, oder?

Ich würde wie gesagt gerne die DB Lösung umgehen. Gibt es noch andere Lösungsansätze oder Fehlerquellen, die ich beachten muss?

THX

Geändert von morsche (14.10.2005 um 13:48:51 Uhr)
Mit Zitat antworten
  #5  
Alt 14.10.2005, 15:45:38
Benutzerbild von meikel (†)
meikel (†) meikel (†) ist offline
SELFPHP Guru
 
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
AW: Session Variablen / Session lifetime

Zitat:
Zitat von morsche
Ich frage mich, wieso sich keine Änderung bemerkbar macht - müsste doch eigentlich funktionieren, oder?
Ich kenne mein phpinfo aber nicht Deins.

bei ini_set() solltest Du prüfen, ob PHP die Änderungen überhaupt übernommen hat. Fehlermeldungen, wenn ggf. der safe_mode was dagegen hat oder im virtualhost per php_admin_* Variablen durch den Provider zwingend gesetzt werden, werden bei ini_set() nicht angemeckert.
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Globale Variablen in Session? JoeJoe PHP Grundlagen 5 25.11.2004 23:58:36
Session, NEED HELP Variablen wech^^ Thunder PHP Grundlagen 1 14.11.2003 08:38:31
FoxServ3.0: Kein Zugriff auf Variablen in der Session Netwulf PHP Grundlagen 1 20.11.2002 16:49:26
Session Variablen Inhalt wird nicht angezeigt DiJae PHP Grundlagen 3 09.06.2002 13:07:17
Variablen aus Session auslesen septicus PHP für Fortgeschrittene und Experten 7 28.02.2002 23:42:32


Alle Zeitangaben in WEZ +2. Es ist jetzt 18:51:05 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt