【问题标题】:Sinatra enable :sessions not working on passenger/apacheSinatra 启用:会话在乘客/apache 上不起作用
【发布时间】:2011-01-07 04:28:04
【问题描述】:

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

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

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

关于如何解决的任何想法?

【问题讨论】:

    标签: ruby sinatra passenger


    【解决方案1】:

    虽然我们没有使用 Apache/Passenger(处于开发模式),但我们也遇到了类似的情况。我们是这样解决的 -

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

    应该可以的。

    【讨论】:

      【解决方案2】:

      这个问题发生在我身上,因为我在错误的配置区域中启用了会话。我的配置如下所示:

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

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-05-05
        • 1970-01-01
        • 2021-03-25
        • 2015-11-17
        • 1970-01-01
        • 2014-09-29
        • 1970-01-01
        相关资源
        最近更新 更多