我正在尝试在HTML::Mason项目中使用Apache::Session::Memcached ,我使用MasonX::Request::WithApacheSession来处理我的会话。不幸的是,当我插入 Memcached 模块而不是 MySQL 模块时,Apache 不会启动。我的自定义处理程序看起来像这样(这里和那里有一些片段):
my $ah = HTML::Mason::ApacheHandler->new (
comp_root => $ENV{HTDOCS},
data_dir => $data_dir,
request_class => 'MasonX::Request::WithApacheSession',
session_use_cookie => 0,
args_method => "mod_perl",
session_args_param => 'session_id',
session_class => 'Apache::Session::Memcached',
session_Servers => '127.0.0.1:20000',
session_Readonly => 0,
session_Debug => 1,
session_cookie_domain => $CONF->{global}->{site_name},
session_cookie_expires => "session",
session_allow_invalid_id => 0,
);
我遇到的问题是特定于 Memcached 的参数没有像文档所说的session_*
那样传递给Apache::Session::Memcached。这会导致此错误:
The following parameter was passed in the call to HTML::Mason::ApacheHandler->new()
but was not listed in the validation options: session_Servers
现在,我已经将所有 3 个大写参数都换成了小写,但无济于事。Apache::Session::Memcached的文档将它们列为大写。
非常感谢您的帮助。