2008-08-24 13 views
4

Ich habe das PHP MVC Framework Symfony verwendet, um eine On-Demand Web App zu erstellen.Wie verhindert man Sitzungszeitüberschreitung in Symfony 1.0?

Es hat einen nervigen Fehler - die Sitzung läuft nach etwa 15-30 Minuten Inaktivität ab. Es gibt eine Config-Anweisung, die den Ablauf der Sitzung verhindert, aber nicht funktioniert. Auch Workarounds wie this one haben mir nicht geholfen.

Ich beabsichtige in absehbarer Zeit nicht zu Symfony 1.1 (das diesen Fehler behebt) zu migrieren.

Ist jemand da gewesen und hat es gelöst? Ich wäre sehr dankbar für ein oder zwei Hinweise!

Antwort

2

Ich schaute hinein, und mein Kollege stimmt zu, dass ein Heartbeat-Seitenaufruf funktionieren sollte, Sie müssen nur sicherstellen, dass die aufgerufene Aktion den Sitzungstimer zurücksetzt (Dinge wie Ajax-Feldvervollständigung tun dies nicht allein)).

0

Die Firma, für die ich arbeite, verwendet Symfony und die Workaround, die wir verwendet haben, ist eine Warnung mit Javascript auszulösen, bevor der Benutzer abgemeldet wird. Ich vermute, dass es einen Weg gibt, um Heartbeat-Ajax-Aufrufe an den Server zu veranlassen, den Timer zum Zurücksetzen auszulösen, aber das könnte eine Menge Ärger bedeuten. Ich denke, dass es möglicherweise keine vollständige Korrektur gibt, die für Sie geeignet ist, außer vielleicht den Session-Handler neu zu schreiben.

Sorry, ich könnte nicht genauer sein, wenn ich die Chance bekomme, frage ich unsere Symfony-Entwickler, ob sie von einer besseren Lösung wissen.

0

Sie immer Timeout auf einige große Anzahl (wie 10 Tage oder so) einstellen könnte

all: 
    .settings: 
    timeout: 864000 
+0

Dies funktioniert nicht in symfony 1.0, leider funktioniert –

0

Sie

verwenden können
all: 
    .settings: 
    timeout: false 
+0

nicht funktionieren in Symfony 1.0 –

Verwandte Themen