Pregunta

Estoy intentando que el Catalyst funcione para trabajar con Template Toolkit , y tengo problemas con Template :: Provider . He aislado el problema de las llamadas a stat . En Template :: Provider :: _ init , las llamadas a stat funcionan correctamente, sin embargo, en otras funciones, las llamadas a stat return []. Parece que Template :: Provider está haciendo algo cosas raras de almacenamiento en caché, pero no puedo entender qué. ¿Alguien tiene alguna idea?

EDITAR: Un poco más de detalle:

Estoy tratando de pasar del servidor de desarrollo Catalyst a Apache / mod_perl. Obtengo un No se pudo procesar el error de archivo de plantilla "- mytemplate.tt: no se encontró" error. Aquí está el volcado de depuración de mi configuración:

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;
}

Prácticamente el mismo problema que alguien describió aquí: http: // www.gossamer-threads.com/lists/catalyst/users/14888

¿Fue útil?

Solución

Suponiendo que sus archivos estén realmente en el directorio / home / myuser / pathtosite (y no en un subdirectorio), parece que podría ser un problema de permeabilidad con el proceso de Catalyst que no puede leer el archivos allí. Si está ejecutando en un entorno SELinux, también podría tener que ver con el contexto de seguridad (por ejemplo, tipo de contexto de seguridad httpd_sys_content_t ).

¿Puede hacer alguna depuración para asegurarse de que los archivos son visibles desde el proceso Catalyst en primer lugar, antes de que intente renderizar la plantilla?

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top