(RUBY) Temp. Verzeichnis für Session-Dateien ändern
Jeena Paradies
- programmiertechnik
0
Dennis
0 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.