MENTAでセッション書き込みに失敗する。
前回作成したエントリーフォームの項目を増やすと
my $entry = { hoge1=> param('hoge1'), hoge2=> param('hoge2'), .... }; session_set( 'entry', $entry);
下記のエラーが発生してセッションに書き込めない。
sdbm store returned -1, errno 22, key "675a02f64fbb676f0879e5ad625cae97" at extlib/HTTP/Session/Store/DBM.pm line 40.
ならばと、変数名を短くしたり、個別にセッションに書き込むようにしても現象は変わらなかった。
session_set( 'hoge1', param('hoge1')); session_set( 'hoge2', param('hoge2'));
原因をしらべてみるとセッション管理しているsdbm_fileに1004kbの制限があるのが問題のようだ。
SDBM_File のサイズ制限 - kazuhoのメモ置き場
CPANを覗いてみるとそのままんまのことが書いてあった。
SDBM_File - Tied access to sdbm files - metacpan.org
session.plに手を入れて、
HTTP::Session::Store::DBM→HTTP::Session::Store::Fileに
すると、一応動作する様になったみたいだが、引き続き調査が必要なようです。