我在网站的根目录上创建了一个文件夹,其中会话数据存储在public_html之外。我这样做是为了使我网站上的会话持续更长的时间,因为我遇到了一个问题,即30分钟后超时。我尝试了多种方法来修复它,但直到尝试下面的代码,任何方法都没有起作用。我正在使用以下代码创建持续一天的会话,该代码停止了它们在30分钟后超时的问题:
ini_set('session.save_path', '/home/server/.sessionsData'); ini_set('session.gc_maxlifetime', 86400); ini_set('session.cookie_lifetime', 86400); ini_set('session.cache_expire', 86400); ini_set('session.name', 'website'); session_start(); // Session ready to go!
进行此更改后,会话不再在30分钟后超时,但是我遇到了一个新问题,即销毁会话的“注销代码”不再像以前那样结束会话。以下代码是我用于注销和销毁会话的内容,但它不再像以前那样工作:
session_start(); session_destroy(); header("location: https://website.com");
我应该怎么做才能删除会话并删除存储在'/home/server/.sessionsData'文件夹中的相应会话数据?如果我进入该文件夹并直接删除会话数据文件,它将在用户的浏览器中结束会话。
感谢您对此进行调查。
我在网站的根目录上创建了一个文件夹,其中会话数据存储在public_html之外。我这样做是为了使我的网站上的会话持续更长的时间,因为我遇到了以下问题:...
如评论中所述Perhaps your ini_set() code, or at least the path changing part, needs to be in your log out script as well.
与session_unset
一起使用session_destroy
是实际上清除SESSION数据的有效方法。