How to have PHP session expire upon browser close OR some extended duration of time

天涯浪子 提交于 2019-12-22 10:36:10

问题


My php session is set to expire when user closes the browser but I noticed that if I leave my browser open for an extended period of time (24+ hours for example) the session still persists.

Is there a way that I can have these sessions expire either when the browser is closed or when some extended period of time has transpired?


回答1:


The solution might be to set data via ini_set('session.gc_maxlifetime', <lifetime in seconds>); Of course if it's possible to change config via PHP. Otherwise you wil need to set proper values in your php.ini:

ini_set(‘session.gc_maxlifetime’,30);
ini_set(‘session.gc_probability’,1);
ini_set(‘session.gc_divisor’,1);

The other approach is setting validity of session cookie by:

$expire=24*60*60;
session_set_cookie_params($expire);
session_start();


来源:https://stackoverflow.com/questions/3778200/how-to-have-php-session-expire-upon-browser-close-or-some-extended-duration-of-t

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!