2010-01-20 4 views
4

J'ai du mal à obtenir l'activation: les sessions persistent pour une application Sinatra simple hébergée sur passenger/apache. Je stocke l'état de la session [: authorized] dans un cookie. Il fonctionne localement lorsqu'il est hébergé sur Rack :: Handler :: Mongrel mais je n'arrive pas à avoir le même comportement sur le passager.Sinatra enable: les sessions ne fonctionnent pas sur le passager/apache

J'ai essayé deux méthodes pour permettre des sessions, les deux qui ne fonctionnent pas sur l'installation passager/apache permettent: sessions

et

:: Session utilisation Support :: Piscine,: domain => 'example.com',: expire_after => 60 * 60 * 24 * 365

Des idées pour résoudre ce problème?

Répondre

1

Nous étions confrontés à quelque chose de similaire bien que nous n'utilisions pas Apache/Passenger (en mode développement). Nous l'avons résolu comme ceci -

Commentez les commandes Rack :: Session depuis votre application Sinatra. Faites-le dans le fichier config.ru. et ne permettent que: des sessions dans votre application sinatra.

Cela devrait fonctionner.

1

Ce problème est survenu parce que j'avais activé les sessions dans la zone de configuration incorrecte. Ma configuration ressemblait à ceci:

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

En déplaçant enable :sessions hors des sessions de configuration spécifiques :development a commencé à travailler pour moi:

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

enable :sessions 
Questions connexes