2016-10-04 92 views
0

我有一個AJAX工作人員,他們每秒被稱爲一個API網址。 250-300秒後,如果用戶註銷,我沒有得到有效的回覆或配置文件令牌。我已經將cookie_lifetime配置爲但它沒有區別。這也是我security.yml:Symfony 2 AJAX會話過期

firewalls: 
    main: 
     pattern: ^/ 
     anonymous: true 
     form_login: 
      login_path: /home 
     logout: 
      path: logout 
      handler: app.custom_logout 
      target: /home 

奇怪的是,似乎當會話過期完全隨機的。我也達到了超過1000個AJAX呼叫,另一方面只有300個呼叫。

我希望你們中的任何一位都能幫助我。

PS:AJAX調用不僅是一個JSON響應,還有完整生成的樹枝模板(包括探查器)。

回答

0

我已經爲自己的問題找到了答案。

您需要配置gc_divisor,gc_probabilitygc_maxlifetime。例如:

session: 
    cookie_lifetime: 0 
    gc_divisor: 10000 
    gc_probability: 1 
    gc_maxlifetime: 604800 

config.yml你的會話過期(因爲你已經設置cookie_lifetime到一個特定的時間)的機會,這配置後等於零。

還可以看看會議的Symfony文檔:http://symfony.com/doc/current/reference/configuration/framework.html#session