8小时重命名的php会话在30分钟后丢失数据

8小时重命名的php会话在30分钟后丢失数据,php,session,session-timeout,Php,Session,Session Timeout,我的默认PHP会话是30分钟 我得到了第一个密码: <?php session_set_cookie_params(28800); session_name('TEST'); session_start(); session_regenerate_id(true); $_SESSION['test'] = 'jam'; ?> 希望你能给我一些线索来解决这个问题。看看PHP手册中的session\u set\u cookie\u params()页面,看看这是否对你有帮助 查看PH

我的默认PHP会话是30分钟

我得到了第一个密码:

<?php
session_set_cookie_params(28800);
session_name('TEST');
session_start();
session_regenerate_id(true);

$_SESSION['test'] = 'jam';
?>

希望你能给我一些线索来解决这个问题。

看看PHP手册中的
session\u set\u cookie\u params()
页面,看看这是否对你有帮助

查看PHP手册中的
session\u set\u cookie\u params()
页面,看看这是否对您有帮助

Cookie寿命只是等式的一部分。服务器端会话存储是另一个。也要确保设置的足够高。

Cookie生存期只是等式的一部分。服务器端会话存储是另一个。确保设置的值也足够高。

您只设置cookie的生存期,而与会话数据的实际生存期无关。如果使用将会话保存到文件系统的默认会话保存处理程序,则会话数据的生存期由指令控制。可以使用以下命令覆盖此值:

ini_set('session.gc_maxlifetime', 28800);
请注意,如果您还有其他使用会话的脚本,并且它们共享会话的相同保存路径,则该目录中的所有会话都使用最小gc_maxlifetime。因此,如果要更改gc_maxlife值,通常意味着您还需要指定自己存储会话的路径。您可以使用以下功能执行此操作:

session_save_path('/path/to/your/sessions');

您只设置cookie的生存期,这与会话数据的实际生存期无关。如果使用将会话保存到文件系统的默认会话保存处理程序,则会话数据的生存期由指令控制。可以使用以下命令覆盖此值:

ini_set('session.gc_maxlifetime', 28800);
请注意,如果您还有其他使用会话的脚本,并且它们共享会话的相同保存路径,则该目录中的所有会话都使用最小gc_maxlifetime。因此,如果要更改gc_maxlife值,通常意味着您还需要指定自己存储会话的路径。您可以使用以下功能执行此操作:

session_save_path('/path/to/your/sessions');

您好,谢谢您的回答,我需要在我的网站上两个不同的会议:一个30分钟的前端部分和一个8小时的管理部分会议。如果我使用session_save_path()为我的会话定义了一个特定路径(顺便问一下,我可以使用session_set_cookie_params()为我定义的路径是否有任何关系),我如何精确地确定我的ini_集('session.gc_maxlifest',28800)?会话是否需要存储在公共和管理部分之间?如果答案是肯定的,那么你必须让这两个课程都持续8小时。session.gc_maxlifetime涉及在同一脚本中设置其保存路径的会话。您可以为公共部分和管理部分设置不同的保存路径,这样您也可以为会话设置不同的生存时间。您好,谢谢您的回答,我的网站上需要两个不同的会话:前端部分30分钟会话和管理部分8小时会话。如果我使用session_save_path()为我的会话定义了一个特定路径(顺便问一下,我可以使用session_set_cookie_params()为我定义的路径是否有任何关系),我如何精确地确定我的ini_集('session.gc_maxlifest',28800)?会话是否需要存储在公共和管理部分之间?如果答案是肯定的,那么你必须让这两个课程都持续8小时。session.gc_maxlifetime涉及在同一脚本中设置其保存路径的会话。您可以为公共部分和管理部分设置不同的保存路径,这样您也可以为会话设置不同的生存期。