Philippe M. Chiasson wrote:
Carl Brewer wrote:


I believe there is a CPAN module that makes it a bit cleaner and
less hack-ish:

MasonX::Apache2Handler
http://search.cpan.org/dist/MasonX-Apache2Handler

Thanks Philippe, I've found that now and built a NetBSD pkg for it.

But, I'm having trouble using it.  I really want to stay clear of
mp1, but am having trouble getting this handler to work.

I keep seeing this :

[Tue Oct 26 13:28:53 2004] [error] [client 211.26.251.34] Can't locate object method "server_root_relative" via package "Apache::ServerRec" at /usr/pkg/lib/perl5/site_perl/5.8.4/MasonX/Apache2Handler.pm line 618.\n


My setup at the moment (which is very fluid as I try things to try and fix the problem!) :

<VirtualHost 203.6.241.155>
    DocumentRoot /home/benfab/htdocs
    ServerName benfab.bl.echidna.id.au

    ErrorLog /home/benfab/logs/error_log
    CustomLog /home/benfab/logs/access_log common

    Alias /admin/ "/home/benfab/admin/"

    # these four lines apply to Apache2+mod_perl2 only: {{{
    PerlSetVar MasonArgsMethod CGI
    #PerlModule Apache2 Apache::compat
    PerlModule Apache2
    PerlRequire "/home/benfab/lib/startup.pl"

    #PerlModule Apache::Reload
    #PerlModule Apache::Request
    #PerlModule Apache::Cookie
    #PerlInitHandler Apache::Reload
    #PerlSetVar ReloadAll Off

    #PerlSetVar _MasonUser www
    #PerlSetVar _MasonGroup www
    #PerlSetVar _MasonDefaultDocumentRoot "/home/benfab/htdocs"

    #RewriteEngine On
    #RewriteRule ^(.*)/$ $1/index.html

    <LocationMatch "(\.html|\.txt|\.pl)$">
      SetHandler perl-script
      #PerlHandler HTML::Mason::ApacheHandler
      PerlResponseHandler MasonX::Apache2Handler
    </LocationMatch>
    <LocationMatch "(\.m(html|txt|pl)|dhandler|autohandler)$">
      SetHandler perl-script
      #PerlInitHandler Apache::Constants::NOT_FOUND
    </LocationMatch>

    <Location />
        #SetHandler perl-script
        #PerlHandler HTML::Mason::ApacheHandler
        SetOutputFilter DEFLATE
    </Location>
</VirtualHost>


the startup.pl script is : # http://perl.apache.org/docs/2.0/user/config/config.html

use Apache2 ();
# /usr/pkg/lib/perl5/site_perl/5.8.4/HTML/Mason/ApacheHandler.pm
use lib qw(/home/benfab/lib /usr/pkg/lib/perl5/site_perl/5.8.4/HTML/Mason/);


  use ModPerl::Util (); #for CORE::GLOBAL::exit

  use Apache::RequestRec ();
  use Apache::RequestIO ();
  use Apache::RequestUtil ();

  use Apache::ServerRec ();
  use Apache::ServerUtil ();
  use Apache::Connection ();
  use Apache::Log ();

  use APR::Table ();
  use APR::Pool ();

  use ModPerl::Registry ();

  use Apache::Const -compile => ':common';
  use APR::Const -compile => ':common';

1;


From googling around, the error message is something to do with mp2 in compat mode, which I'm specifically trying to eliminate and avoid - and as my test page is simply this :

/home/benfab/htdocs/index.html
<% 2+2 %>

I'm not using anything that should or could call it?

any suggestions?

Carl



--
Report problems: http://perl.apache.org/bugs/
Mail list info: http://perl.apache.org/maillist/modperl.html
List etiquette: http://perl.apache.org/maillist/email-etiquette.html



Reply via email to