Warum kann mein Katalysator Anwendung nicht mein Template Toolkit-Dateien lesen?
-
06-07-2019 - |
Frage
Ich versuche, die Catalyst
Rahmen zu bekommen mit zu arbeiten Template Toolkit
, und ich habe Probleme mit Template::Provider
ist einige seltsame Caching Sachen zu tun, aber ich kann nicht ganz herauszufinden, was. Wer irgendwelche Ideen?
EDIT: Ein bisschen mehr Detail:
Ich versuche, aus der Katalysatorentwicklung Server Apache / mod_perl zu bewegen. Ich bekomme einen Couldn't render template "file error - mytemplate.tt: not found"
Fehler. Hier ist der Debug-Dump meiner config:
Config
do {
my $a = {
"Action::RenderView" => {
ignore_classes => [
"DBIx::Class::ResultSource::Table",
"DBIx::Class::ResultSourceHandle",
"DateTime",
],
scrubber_func => sub { "???" },
},
"Plugin::ConfigLoader" => {},
home => "/home/myuser/pathtosite",
name => "Stream",
root => bless({
dirs => ["", "home", "myuser", "pathtosite"],
file_spec_class => undef,
volume => "",
}, "Path::Class::Dir"),
static => {
debug => 1,
dirs => [],
ignore_dirs => [],
ignore_extensions => ["tmpl", "tt", "tt2", "html", "xhtml"],
include_path => ['fix'],
mime_types => {},
mime_types_obj => bless({}, "MIME::Types"),
no_logs => 1,
},
};
$a->{static}{include_path}[0] = $a->{root};
$a;
}
So ziemlich genau das gleiche Problem, dass jemand hier beschrieben: http: // www.gossamer-threads.com/lists/catalyst/users/14888
Lösung
Angenommen, Ihre Dateien tatsächlich in dem /home/myuser/pathtosite
Verzeichnis (und nicht ein Unterverzeichnis) sind, dies scheint, wie es ein perimssion Problem mit dem Katalysator Prozess nicht dort die Dateien lesen zu können sein könnte. Wenn Sie in einer SELinux-Umgebung laufen lassen, könnte es auch mit dem Sicherheitskontext (zum Beispiel Sicherheitskontext Typ httpd_sys_content_t
) zu tun hat.
Können Sie einige Debug tun, um sicherzustellen, dass die Dateien aus dem Catalyst Prozess in erster Linie sichtbar sind, bevor es um die Vorlage zu machen versucht?