(RUBY) Temp. Verzeichnis für Session-Dateien ändern
Jeena Paradies
- programmiertechnik
0 Dennis0 Jeena Paradies0 Dennis
Hallo,
Ich habe das Problem, dass ich nun schon seit Tagen versuche das Temp.-Verzeichnis für Session-Dateien (Ruby) von /tmp, was Default ist, nach /home/username/appname/session zu ändern, leider ohne Erfolg. Entweder ist die Dokumentation undeutlich geschrieben, ich gehe falsch an das Problem heran, oder ich bin einfach zu dämlich dafür ^^. Hier die zwei Links zur Doku, die ich denke die richtigen sind:
CGI::Session und CGI::Session::FileStore
Was ich bisher versucht habe ist folgendes:
require "cgi"
require "cgi/session"
session = CGI::Session.new(CGI.new, )
Das Temp.-Verzeichnis wird aber leider nicht geändert sondern die Dateien werden weiterhin in /tmp gespeichert. Vielleicht hat ja jemand Lust zu gucken was ich da falsch mache?
Jeena
Hi Jeena,
Ruby habe ich noch nie programmiert, aber schauen wir doch mal ;-)
Dort steht:
Public Class methods
new(request, option={})
request is an instance of the CGI class (see cgi.rb).
option is a hash of options for initialising this CGI::Session instance.
[...]
option is also passed on to the session storage class initialiser;
see the documentation for each session storage class for the options they support.
Du du keinen spezifischen Storing-Mechanismus wählst, ist also FileStore der Default, auf CGI::Session::FileStore steht:
Public Class methods
new(session, option={})
option is a hash of options for the initialiser. The following options are recognised:
tmpdir:
the directory to use for storing the FileStore file. Defaults to Dir::tmpdir
(generally "/tmp" on Unix systems).
session = CGI::Session.new(CGI.new, )
Und wie genau bist du da jetzt auf die Idee genommen, temp statt tmpdir zu verwenden? ;-)
Viele Grüße,
~ Dennis.
Hallo,
session = CGI::Session.new(CGI.new, )
Und wie genau bist du da jetzt auf die Idee genommen, temp statt tmpdir zu verwenden? ;-)
Sorry hab es nur hier falsch geschrieben, im richtigen code ist es (leider) richtig geschrieben.
Jeena
Hi Jeena,
Sorry hab es nur hier falsch geschrieben, im richtigen code ist es (leider) richtig geschrieben.
Ok, wäre ja auch zu einfach gewesen ;-) Dann würde ich mal im Quellcode des entsprechenden Moduls mich auf die Suche nach einem Bug machen *g*
Ich könnte mir z.B. vorstellen, dass CGI:Session:FileStore einfach bedingungslos den Wert aus Dir::tmpdir und da einfach vergessen wurde, den Parameter tmpdir abzufragen, oder ihm eine höhere Priorität als dem Default zu geben.
Als Workaround: Ist es möglich Dir::tmpdir auf einen anderen Wert zu setzen? Vielleicht kommst du auf die Art und Weise ja zum Erfolg.
Viele Grüße,
~ Dennis.