【发布时间】:2014-03-15 12:10:07
【问题描述】:
如果我启用 Catalyst::Plugin::Session 或 Catalyst::Plugin::Authentication,我将无法再通过 myapp.conf、myapp_local.conf 或 MyApp.pm 添加设置。我进行了广泛的搜索,但找不到任何关于为什么会发生这种情况的文档。这是功能还是错误?我正在使用最新版本的 Catalyst 和可通过 FreeBSD 端口树获得的 Session 插件。我在 Debian 上测试过,同样的问题。
p5-Catalyst-Runtime-5.90016
p5-Catalyst-Plugin-Session-0.35
p5-Catalyst-Plugin-Session-State-Cookie-0.17
p5-Catalyst-Plugin-Session-Store-FastMmap-0.16
我正在运行开发服务器。插件在 MyApp.pm 中加载如下:
use Catalyst qw/
ConfigLoader
Static::Simple
Authorization::Roles
Authentication
Session
Session::Store::FastMmap
Session::State::Cookie
/;
只要启用了 Session 或 Auth 插件,尝试设置配置值就会失败。唯一的例外是“名称”变量。
__PACKAGE__->config(
name => 'Will be accessible via "name"',
foo => 'Will not be accessible via c.foo if plugins are loaded',
disable_component_resolution_regex_fallback => 1,
enable_catalyst_header => 1, # Send X-Catalyst header
);
我可以看到 ConfigLoader 和 myapp.conf 正在服务器调试输出中加载。由于这是许多用户可能使用的非常基本的设置,我假设我遗漏了一些相当明显的东西。插件文档和我查过的任何其他来源都没有提到任何关于此的内容,除非我完全错过了它。
更新:我认为我通过开发服务器运行它的事实可能是一个问题。我通过 Apache/FastCGI 进行了部署,但没有任何区别。
【问题讨论】: