【问题标题】:Using Apache::Session::Memcached with MasonX::Request::WithApacheSession使用 Apache::Session::Memcached 和 MasonX::Request::WithApacheSession
【发布时间】:2009-06-30 15:57:33
【问题描述】:

我正在尝试在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_* 参数没有像 the docs say it should 一样传递给 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 个大写参数都换成了小写,但无济于事。并且the docsApache::Session::Memcached 将它们列为大写。

非常感谢您的帮助。

【问题讨论】:

    标签: perl memcached mod-perl mason


    【解决方案1】:

    您似乎需要按照http://search.cpan.org/perldoc/Apache::Session::Wrapper#REGISTERING_CLASSES 的说明向 Apache::Session::Wrapper 注册 Apache::Session::Memcached,就像这样(代码由 Jack M. 提供):

    Apache::Session::Wrapper::->RegisterClass(
        'name' => 'Apache::Session::Memcached',
        'required' => [ [ 'Servers' ], ],
        'optional' => [ 'NoRehash', 'Readonly', 'Debug', 'CompressThreshold', ],
    );
    

    【讨论】:

    • 你,先生/女士是男人/女人!我一直在为这个而苦恼。我没有代表来编辑你的帖子,但你应该把它扔在那里: Apache::Session::Wrapper->RegisterClass( name => 'Apache::Session::Memcached', required => [ [ '服务器' ], ], optional => [ 'NoRehash', 'Readonly', 'Debug', 'CompressThreshold', ], );
    猜你喜欢
    • 2014-12-28
    • 2017-10-14
    • 2023-03-25
    • 2015-09-22
    • 1970-01-01
    • 2023-04-07
    • 2017-12-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多