My app works just fine on my development machine, but when I copy it
onto my live server (on a different machine), it fails with the
following whenever I try to access anything past the first page (in this
example, accessing something in the "users" controller):
Couldn't forward to "Catalyst::Action". Does not implement "process"
Couldn't forward to command "users/access_denied": Invalid action or
This is the first time I've tried to copy it into the live server, so
the cause is almost certainly something I don't have installed, or have
installed differently, on that machine. My problem is that I cannot
figure out what that is.
I think its obvious that its attempting to do a forward(), and if I'm
reading the messages correctly, its trying to forward to
access_denied(), which is presumably called because the user doesn't
have permission (using Catalyst::Plugin::Authorization::ACL).
I have checked that I have the most recent versions (off CPAN) for
Catalyst::Runtime, Catalyst::Devel, and the Authorization and
Authentication plugins (on both the development and live machine).
I have also checked that it is not caused by running under mod_perl in
Apache2 (which it isn't - the same error occurs running the Catalyst
server on that machine).
I have googled for those error messages (and found the source code for
Catalyst::Dispatcher where they reside), but nothing to point me to
where to look next.
In desperation, I copied the access_denied() code into my base
controller class - it formerly lived in Root.pm - on the theory that
maybe something was different about the path it was searching to find
the code, but to no avail.
So, I'm at a loss as to what to look at next. I'm certainly not an
experienced Catalyst user (or even a particularly experienced perl
user). Any pointers would be appreciated.