[Catalyst] Problem with C::E::Apache and apache2/mod_perl2

Adam Jacob adam at stalecoffee.org
Thu Mar 23 05:04:15 CET 2006


On Mar 22, 2006, at 2:47 PM, Scott Karns wrote:
> At the risk of stating what may be obvious to some
> (sure wasn't to me) I'll summarize my findings.
>
> 1) ConfigLoader CAN find 'home' relative config files
> when running the built-in server. It CANNOT when
> running apache2. My fix was to make the config file
> path absolute.

You are going to encouter this problem frequently.  Relative paths  
only work if the system has chdir-ed to the proper parent directory.   
Since mod_perl won't do this for you (Registry scripts in mod_perl 1  
had this behavior, mod_perl 2 doesn't, and Catalyst app's don't run  
through that interface anyway) you'll have to work around it.

> 3) It looks like the Session plugins may have some
> issues with relative directories when running on
> apache2. With the above (self-inflicted?) problems
> corrected, I now have the following error:
>
> [error] Caught exception in engine "mkdir QR_session:
> Permission denied at
> /usr/lib/perl5/vendor_perl/5.8.7/Cache/Fil
> eBackend.pm line 222"
> [Wed Mar 22 15:24:48 2006] [error] [client 127.0.0.1]
> File does not exist: /var/www/localhost/htdocs/QR
>
> My application root is at /usr/local/pqv, but it looks
> like the session module is trying to create the
> directory relative to apache's document root.

This is the same problem as the one you had with ConfigLoader -- it's  
not a problem with the modules, it's a problem with your  
expectations.  :)

Adam



More information about the Catalyst mailing list