Jonathan Vanasco wrote:
On Mar 26, 2008, at 9:47 AM, Colin Wetherbee wrote:
We seem to have solved the problem, but for the sake of conversation...

When I've tried that in the past, mod_perl would always look for handler() within JetSet::Handler::AccessHandler.pm.

Wow.

I've got 5 sites in production right now... and dating back to 03/04.... with multiple specified handlers like that

I've never had that issue come up, nor have i planned for it. I could see that happening though....

Wow... again... I never thought of that.

Yep... here it is:

[Fri Mar 28 00:37:00 2008] [error] [client 192.168.171.80] failed to resolve handler `JetSet::Handler::InitHandler': Can't locate JetSet/Handler/InitHandler.pm in @INC (@INC contains: /home/cww/sites/js.iron.denterprises.org/htdocs/jet-set /etc/perl /usr/local/lib/perl/5.8.8 /usr/local/share/perl/5.8.8 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.8 /usr/share/perl/5.8 /usr/local/lib/site_perl . /etc/apache2) at (eval 7) line 3.\n, referer: http://js/jet-set/login

From this bit of the virtual host:

  <Location /jet-set>
PerlSetVar ReloadDirectories "/home/cww/sites/js.iron.denterprises.org/htdoc
    SetHandler perl-script
    PerlInitHandler Apache2::Reload
    #PerlInitHandler JetSet::Handler->InitHandler
    PerlInitHandler JetSet::Handler::InitHandler
    #PerlResponseHandler JetSet::Handler->ResponseHandler
    PerlResponseHandler JetSet::Handler::ResponseHandler
  </Location>

(Note the PerlSetVar line was truncated by my non-use of line-wrap in vim.)

Actually, though, I think I remember ResponseHandler working OK... so, I'm going to put InitHandler back to the way it was (with ->) and try again.

Hm. Yep. ResponseHandler can interpret the ::ResponseHandler part as being a function within Handler.pm, but that does *not* work for InitHandler.

Interesting.

For completeness, the above does not work, but the following does.

  <Location /jet-set>
PerlSetVar ReloadDirectories "/home/cww/sites/js.iron.denterprises.org/htdoc
    SetHandler perl-script
    PerlInitHandler Apache2::Reload
    PerlInitHandler JetSet::Handler->InitHandler
    #PerlResponseHandler JetSet::Handler->ResponseHandler
    PerlResponseHandler JetSet::Handler::ResponseHandler
  </Location>

Where InitHandler() and ResponseHandler() are subs declared within Handler.pm.

Colin


Reply via email to