[Catalyst] problem deploying with apache: templates not found

Marc Logghe Marc.Logghe at DEVGEN.com
Thu Oct 12 10:56:27 CEST 2006


I think I am getting crazy here.
 
I traced it down to Template::Provider::_fetch_path.
Some extra debug statements give this in the logs:
In apache (user apache):
[Template::Provider] fetching search.tt2
[Template::Provider] _fetch_path(search.tt2)
[Template::Provider] searching path:
/home/marcl/catalyst/posedb/root/src/search.tt2
[Template::Provider] path not found:
/home/marcl/catalyst/posedb/root/src/search.tt2
[Template::Provider] searching path:
/home/marcl/catalyst/posedb/root/lib/search.tt2
[Template::Provider] path not found:
/home/marcl/catalyst/posedb/root/lib/search.tt2
... (skipped)
 
In catalyst test server (user marcl, working in home directory):
[Template::Provider] fetching search.tt2
[Template::Provider] _fetch_path(search.tt2)
[Template::Provider] searching path:
/home/marcl/catalyst/posedb/root/src/search.tt2
[Template::Provider] slot = ARRAY(0xa101c88)
[Template::Provider] _refresh([ ARRAY(0xa103d8c),
/home/marcl/catalyst/posedb/root/src/search.tt2,
Template::Document=HASH(0xa0f0eb0), 1160464516, <undef>, 1160641995])
[Template::Provider] fetching config/main
... (skipped)
 
 
The relevant code in Template::Provider::_fetch_path is:
            if ($caching && ($slot = $self->{ LOOKUP }->{ $path })) {
                # cached entry exists, so refresh slot and extract data
$self->debug("slot = $slot");
                ($data, $error) = $self->_refresh($slot);
                $data = $slot->[ DATA ]
                    unless $error;
                last INCLUDE;
            }
            elsif (-f $path) {
                $compiled = $self->_compiled_filename($path)
                    if $compext || $compdir;
$self->debug("compiled_filename = $compiled");
 
 
So, it seems that in case of the catalyst server, the cache is found. In
case of apache, the cache slot is not found and the file path
'/home/marcl/catalyst/posedb/root/src/search.tt2' is not found neither.
How the heck is that possible, the file is really there (it is paranoia,
but I actually did a test -f on the command line and it returned true)
!!
Can the expression "-f $path" fail or succeed depending on the user
(apache user versus marcl) ?
 
regards,
Marc 
 



________________________________

	From: catalyst-bounces at lists.rawmode.org
[mailto:catalyst-bounces at lists.rawmode.org] On Behalf Of Marc Logghe
	Sent: Wednesday, October 11, 2006 11:48 AM
	To: catalyst at lists.rawmode.org
	Subject: [Catalyst] problem deploying with apache: templates not
found
	
	
	Hi all, 
	I tried to deploy my little test application with apache,
basically just like indicated here:
	
http://www.mail-archive.com/catalyst@lists.rawmode.org/msg01410.html
	 
	Apache starts without errors but when a request is send for
http://localhost/pdfjoin, I get the catalyst error dump saying it can
not find the template.
	Running the very same application using the test server all
works fine.
	 
	The paths for TTSite are configured as shown in the examples:
	__PACKAGE__->config({
	#    CATALYST_VAR => 'Catalyst',
	    INCLUDE_PATH => [
	        posedb->path_to( 'root', 'src' ),
	        posedb->path_to( 'root', 'lib' )
	    ],
	    PRE_CHOMP  => 1,
	....
	 
	Any clues ?
	 
	Thanks and regards,
	Marc
	 
	 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.rawmode.org/pipermail/catalyst/attachments/20061012/b9468d32/attachment.htm 


More information about the Catalyst mailing list