将 Apache::Session::Memcached 与 MasonX::Request::WithApacheSession 结合使用
我正在尝试使用 Apache >HTML::Mason 我正在使用的项目 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 将它们列为大写。
非常感谢您的帮助。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
看起来您需要使用 Apache::Session::Wrapper 注册 Apache::Session::Memcached,按照 http://search.cpan.org/perldoc/Apache::Session::Wrapper#REGISTERING_CLASSES 就像这样(代码由 Jack M. 提供):
It looks like you need to register Apache::Session::Memcached with Apache::Session::Wrapper, following the instructions at http://search.cpan.org/perldoc/Apache::Session::Wrapper#REGISTERING_CLASSES like so (code courtesy Jack M.):