[cgiapp] CAP::AutoRunmode & mod_perl issue resolved
Richard Jones
ra.jones at dpw.clara.co.uk
Thu Nov 27 07:51:41 EST 2008
Hi all,
As you've probably gathered, I've been having some problems with
CAP::AutoRunmode under mod_perl. These were resolved, or so I thought,
by removing 2 plugins (DebugScreen & ErrorPage), and fixing some
circular refs in my code. At least that fixed the session & flash
issues. The AutoRunmode/mod_perl issue was probably resolved by a
co-incidental config change. But now it has suddenly returned and I
think I've identified the reason.
It looks like having more than one app using AutoRunmode defined in
perl.conf causes failure of them both (the 'cannot find runmode' error),
depending on how the apps are configured in the Apache perl.conf file:
PerlModule Foo:Dispatch
<Location /foo>
SetHandler perl-script
PerlResponseHandler "sub { Foo::Dispatch->dispatch(); return OK; }"
</Location>
PerlModule Bar # <= comment this to make it work
<Location /bar>
SetHandler perl-script
PerlResponseHandler Bar
</Location>
That will cause both apps to fail with 'cannot find runmode'. But if I
comment out 'PerlModule Bar', then both apps work fine under mod_perl2.
To state the obvious, Bar.pm has a 'sub handler : method' defined. So
this is probably a mod_perl2 config issue rather than CAP::AutoRunmode
at fault.
Question: what is the correct way to configure perl.conf in the 2
examples above.
Of secondary importance, and in the interest of finally putting the
issue behind me, does anyone have any idea why the above config caused
the failure of both apps to work with AutoRunmode? Possibly runmode
registration confusion?
--
Richard Jones
More information about the cgiapp
mailing list