Sinatra启用:会话不适用于乘客/阿帕奇

我无法获得启用:会话持续存在于乘客/ apache上托管的简单Sinatra应用程序。 我将会话状态[:authorized]存储在cookie中。 它在Rack :: Handler :: Mongrel上托管时在本地工作,但我似乎无法在乘客上获得相同的行为。

我尝试了两种启用会话的方法,这两种方法都不适用于乘客/ apache安装启用:会话

使用Rack :: Session :: Pool,:domain =>’example.com’,:expire_after => 60 * 60 * 24 * 365

有关如何修复的任何想法?

虽然我们没有使用Apache / Passenger(在开发模式下),但我们面临着类似的问题。 我们这样解决了 –

在Sinatra应用程序中注释掉Rack :: Session命令。 在config.ru文件中执行此操作。 并且只能启用:sinatra应用程序中的会话。

这应该工作。

这个问题发生在我身上,因为我在错误的配置区域启用了会话。 我的配置看起来像这样:

configure :development do # ... other settings ... enable :sessions end 

通过移动enable :sessions会话开始:development特定的配置会话开始为我工作:

 configure :development do # ... other settings ... end enable :sessions