我做错了吗?我在每个页面加载时运行以下内容,如果没有任何反应,大约每30分钟运行一次,我的会话就不见了。我可以关闭浏览器并将其重新打开,会话仍在那里,但大约30分钟后它就消失了。造成这种情况的原因是什么?
ini_set('session.gc_maxlifetime', 365 * 60 * 60 * 24 * 10);
session_set_cookie_params(365 * 60 * 60 * 24 * 10, "/");
session_start();
当我查看会话到期时,我会看到:
Tuesday, January 14, 2025 at 10:26:13 PM
是什么导致我失去了会话?
答案 0 :(得分:0)
会话存储在/ tmp目录中,直到浏览器关闭。在您的情况下,您应该将会话数据存储在数据库中,以便稍后查看它,如果这是您要完成的任务。
会话的设计使其基于“会话”。换句话说,如果你关闭浏览器(基本上是你的会话),它就会消失。
将会话ID和会话数据放在表中。从cookie PHPSESSID中查找会话ID,并从数据库中查找会话数据。
您要存储哪些信息?如果其用户并通过您不应存储在cookie中,如果有黑客试图访问该信息,则很容易访问该信息。