2009-06-30 5 views
1

私はMasonX::Request::WithApacheSessionを使用してHTML::MasonプロジェクトにApache::Session::Memcachedを使用しようとしています。残念ながら、MySQLの代わりにMemcachedモジュールを接続すると、Apacheは起動しません。私のカスタムハンドラは、このようなもの(ここでは、そこにいくつかの切れ端)になります。Apache :: Session :: MemcachedをMasonX :: Request :: WithApacheSessionで使用する

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_* PARAMATERSが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つの大文字のすべての引数を入れ替え。そして、Apache::Session::Memcachedの場合はthe docsを大文字で表記してください。

おかげで任意の助けトン。

答えて

4

Apacheを登録する必要がありますように見えます::セッション:: ApacheでMemcachedの::セッション::ラッパーなので、(コード礼儀ジャックM.)のようなhttp://search.cpan.org/perldoc/Apache::Session::Wrapper#REGISTERING_CLASSESの指示に従って:

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

あなたは、サー/マダムは男性/女性です!私はこれに自分自身を苦しめてきた。私はあなたのポストを編集する担当者を持っていないが、あなたはそこにこれを投げる必要があります。 はApache ::セッション:: Wrapper-> RegisterClass( 名=>「はApache ::セッション:: Memcachedの」、 必要=> [ 'サーバ']]、 任意=> [ 'NoRehash'、 '読み取り専用'、 'デバッグ'、 'C​​ompressThreshold']、 )。 –

関連する問題