我正在尝试使用 Tenjin 模块,但它失败了,因为它找不到模板文件但它存在。我在模块中添加了一些调试语句,但它没有通过
return $filepath if (-f $filepath);
即使 $filepath 是正确的。我在一个独立的脚本中尝试过,它工作正常,但是当我将它复制到 mod_perl 脚本时它失败了。有任何想法吗?
$filepath 是一个完整的绝对路径:/something/another/dir/2/filename.plhtml
这是模块的功能。注意我的“调试”...它打印文件的正确路径是 777,但它从不打印 YES。
sub find_template_file {
my ($this, $filename) = @_;
my $path = $this->{path};
if ($path) {
my $sep = $^O eq 'MSWin32' ? '\\\\' : '/';
foreach my $dirname (@$path) {
my $filepath = $dirname . $sep . $filename;
print STDERR "--$filepath--\n";
if (-f $filepath){
print STDERR "--- YES ---\n\n";
}
return $filepath if (-f $filepath);
}
} else {
return $filename if (-f $filename);
}
my $s = $path ? ("['" . join("','", @$path) . "']") : '[]';
die "Tenjin::Engine: $filename not found (path=$s).";
}
失败
Tenjin::Engine: index.plhtml 未找到 (path=['/var/2.0/templates/search'])。在 /usr/lib/perl5/site_perl/5.8.8/Tenjin/Engine.pm 第 56 行。\n