I gotcha.  That's cool, yes, cheers and thanks.

Hmm, MasonHQ and Mason itself seem to have been updated since I 
fought this problem 6 months ago.

In my case, with Debian at least, this seems to be all that is 
needed... no Apache2::compat loaded anywhere:

    PerlModule HTML::Mason::ApacheHandler
    PerlSetVar MasonArgsMethod mod_perl
    PerlOptions +GlobalRequest
    <Location />
        SetHandler modperl
        PerlHandler HTML::Mason::ApacheHandler
    </Location>

I'll try this in our build on RHELL4.

Mark

On Thu, 15 Jun 2006, Max Baker wrote:

> From: Max Baker <[EMAIL PROTECTED]>
> To: Mark Hedges <[EMAIL PROTECTED]>
> Cc: Francesc Guasch <[EMAIL PROTECTED]>,
>     [email protected]
> Date: Thu, 15 Jun 2006 11:47:00 -0700
> Subject: Re: [Mason] WithApacheSession  Apache2
> 
> Mark,
> 
> No, my "disco thing" does not load CGI, and Yes, I am using a modern
> mod_perl2 post-API change.
> 
> Two things were needed : 
>     1. The addition of "args_method => 'mod_perl'" to the
> HTML::Mason::ApacheHandler() call 
> 
>     2. (from INSTALL mentioned before)
> 
>     [7.4.4] Apache2 additions
>         Make sure that something similar to the following LoadModule commands
>     are in your httpd.conf: 
> 
>         LoadModule perl_module  libexec/apache2/mod_perl.so
>         LoadModule apreq_module libexec/apache2/mod_apreq2.so
> 
>         (Note that these should have been done as part of installing mod_perl
>     and libapreq2, but not all installations do this).
> 
>         Add the following two lines in your httpd.conf:
> 
>         PerlModule Apache2::compat
>         PerlModule Apache2::Request
> 
> 
> Cheers to Netdisco developer Bill Fenner for figuring this all out.
> -m
> 
> On Thu, Jun 15, 2006 at 11:31:32AM -0700, Mark Hedges wrote:
> > 
> > Are you sure you aren't using the RedHate Apache2 with mod_perl2
> > which is really mod_perl 1.99 something and vendor libs that 
> > make it work in a compatability mode like Apache1.3 libs?
> > Or maybe your disco thing loads CGI?
> > 
> > The issue with compiled-from-source Apache2 was, for me, that 
> > Apache2::RequestRec doesn't provide a param method at all.
> > 
> > The proper way in Apache2 to get params is to create an 
> > Apache2::Request object like this:
> > 
> >    use Apache2::Request;
> >    $req = Apache2::Request->new($r);
> >    @foo = $req->param("foo");
> >    $bar = $req->args("bar");    # args and param are equivalent
> > 
> > This is a big change.  Mason can't cope, AFAIK.
> > 
> > The solution for the config file is this:
> > 
> >     PerlModule CGI
> >     PerlOptions +GlobalRequest
> > 
> > Mark
> > 
> > 
> > On Thu, 15 Jun 2006, Max Baker wrote:
> > 
> > > From: Max Baker <[EMAIL PROTECTED]>
> > > To: Francesc Guasch <[EMAIL PROTECTED]>
> > > Cc: [email protected]
> > > Date: Thu, 15 Jun 2006 09:21:54 -0700
> > > Subject: Re: [Mason] WithApacheSession  Apache2
> > > 
> > > Bon Dia Francesc,
> > > 
> > > We figured this out recently on Netdisco.  I think the instructions on
> > > masonhq are out of date.
> > > 
> > > In these is how we are getting MX:R:WAS to work w/ both apache1 and 
> > > apache2 :
> > > http://netdisco.cvs.sourceforge.net/netdisco/netdisco/netdisco_apache.conf?view=markup
> > > http://netdisco.cvs.sourceforge.net/netdisco/netdisco/netdisco_apache_dir.conf?view=markup
> > > 
> > > I don't remember what exectly changed, but the INSTALL docs might be up to
> > > date as well.  They cover the setup of apache/mod_perl for mason for
> > > netdisco.
> > > 
> > > http://netdisco.org/install.html
> > > 
> > > HTH,
> > > -m
> > > 
> > > On Thu, Jun 15, 2006 at 11:21:47AM +0200, Francesc Guasch wrote:
> > > > I'm trying to use MasonX::Request::WithApacheSession with mod_perl2
> > > > and I can't make it work. I read this:
> > > > 
> > > > http://masonhq.com/?WithApacheSession
> > > > 
> > > > I have a custom handler, so I think it won't use the variables
> > > > from PerlSetVar there. It does nothing.
> > > > 
> > > > I tried use it from the $ah, but then it fails to load and returns:
> > > > 
> > > >   The 'param_object' parameter ("Apache2::RequestRec=SCALAR(0x845bc48)")
> > > >   to Apache::Session::Wrapper->new() does not have the method: 'param'.
> > > > 
> > > > I also tried 'MasonX::Request::WithApacheSession2', but then it fails :
> > > > 
> > > >   Can't locate Apache/RequestRec.pm in @INC (@INC
> > > > 
> > > > Is there an easy way to use sessions with mp2 , or should I go the old
> > > > way and tie the Apache::Session:: module to a hash ?
> > > > 
> > > > Versions:
> > > > 
> > > > HTML::Mason::VERSION 1.33
> > > > MasonX::Request::WithApacheSession 0.30
> > > > mod_perl-2.0.2
> > > > libapreq2-2.07
> > > > 
> > > > This is the handler from my module:
> > > > 
> > > > my $ah
> > > >     = HTML::Mason::ApacheHandler->new
> > > >             (
> > > >             request_class => 'MasonX::Request::WithApacheSession',
> > > >                   session_class          => 'Apache::Session::File',
> > > >                   session_directory      => '/tmp/sessions/data',
> > > >                   session_lock_directory => '/tmp/sessions/locks',
> > > > 
> > > > 
> > > > 
> > > 
> > > 
> > > _______________________________________________
> > > Mason-users mailing list
> > > [email protected]
> > > https://lists.sourceforge.net/lists/listinfo/mason-users
> > > 
> 


_______________________________________________
Mason-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mason-users

Reply via email to