Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 临时存储会话_Php_Session - Fatal编程技术网

Php 临时存储会话

Php 临时存储会话,php,session,Php,Session,我知道会话是服务器端的,所以即使浏览器关闭也可以保存会话 例如,将会话保存一天 请不要建议使用“cookies”,在这种情况下必须在会话中执行 谢谢它们已经保存(请参阅php.ini文件了解会话路径)。。。事实上,真正的问题在于垃圾收集 如果要将它们存储更长时间,请编辑php.ini文件或定义自定义会话处理程序: 它们已被保存(有关会话路径,请参阅php.ini文件)。。。事实上,真正的问题在于垃圾收集 如果要将它们存储更长时间,请编辑php.ini文件或定义自定义会话处理程序: 我想这就是你要

我知道会话是服务器端的,所以即使浏览器关闭也可以保存会话

例如,将会话保存一天

请不要建议使用“cookies”,在这种情况下必须在会话中执行

谢谢

它们已经保存(请参阅php.ini文件了解会话路径)。。。事实上,真正的问题在于垃圾收集

如果要将它们存储更长时间,请编辑php.ini文件或定义自定义会话处理程序:

它们已被保存(有关会话路径,请参阅php.ini文件)。。。事实上,真正的问题在于垃圾收集

如果要将它们存储更长时间,请编辑php.ini文件或定义自定义会话处理程序:

我想这就是你要找的。如果您将会话存储在cookie中,这将允许您设置该cookie的生存期。因此,用户可以在该时间范围内的任何时间返回,并且仍然拥有其原始会话

旁注

请阅读本文,了解有关会话生存期等的更多信息。 我想这就是你要找的。如果您将会话存储在cookie中,这将允许您设置该cookie的生存期。因此,用户可以在该时间范围内的任何时间返回,并且仍然拥有其原始会话

旁注

请阅读本文,了解有关会话生存期等的更多信息。

您可以在.htaccess中设置上述内容,也可以在php.ini中修改session.gc\u maxlifest

这定义了在垃圾收集之前,PHP在服务器上为用户保留会话文件的时间(上面的示例将允许服务器维护会话1天),但是会话通常依赖于会话id cookie,因此如果浏览器重置或清除cookie,用户将不会重新连接到其web会话(实际上,您正在将会话ID cookie设置为在大多数情况下使用会话,即使您没有意识到。)

您可以在.htaccess中设置上述内容,也可以在php.ini中修改session.gc\u maxlifest


这定义了在垃圾收集之前,PHP在服务器上为用户保留会话文件的时间(上面的示例将允许服务器维护会话1天),但是会话通常依赖于会话id cookie,因此如果浏览器重置或清除cookie,用户将不会重新连接到其web会话(实际上,您正在将会话ID cookie设置为在大多数情况下使用会话,即使您没有意识到这一点。)

您可以创建一个数据库并将会话存储在那里,在客户端只需存储$\u session['ID']wich是数据库中会话的id。但当您必须在会话中存储越来越多的变量时,这将成为一个难题。

您可以创建一个数据库并将会话存储在那里,而在客户端只需存储$\u会话['id']wich是数据库中会话的id。但是当您必须在会话中存储越来越多的变量时,这将成为一个令人头痛的问题。

就像Gumbo说的,将其传递到URL中。但是我想解决这个问题的方法是,与其通过URL传递会话id,不如将其作为哈希或编码数据

然后,每当该用户访问您的页面时,您都可以在标题中检查此哈希/编码数据是否仍在有效的时间范围内,以及此“匿名”用户是否具有该区域的权限

缺点:如果该用户绕过此链接,任何人都可以访问数据

优点:非常便携,易于实施


将会话\u ID存储在绑定到用户IP的数据库中。每当此用户重新登录时,请使用设置会话\u ID来启动会话

缺点:还有很多工作要做,如果用户ISP定期更改其生成的IP,这将不起作用


好处:即使他删除了会话ID cookie,你也可以继续会话

就像Gumbo说的那样,在URL中传递它。但是我想解决这个问题的方法是,与其通过URL传递会话ID,不如将其设为哈希或编码数据

然后,每当该用户访问您的页面时,您都可以在标题中检查此哈希/编码数据是否仍在有效的时间范围内,以及此“匿名”用户是否具有该区域的权限

缺点:如果该用户绕过此链接,任何人都可以访问数据

优点:非常便携,易于实施


将会话\u ID存储在绑定到用户IP的数据库中。每当此用户重新登录时,请使用设置会话\u ID来启动会话

缺点:还有很多工作要做,如果用户ISP定期更改其生成的IP,这将不起作用


好处:即使他删除了会话ID cookie,您也可以继续会话

有很多方法可以做到这一点,但作为一名工匠,您可以:

制作一个脚本,将用户的每个会话保存在一个文件中

转到PHP.ini并更改会话生存时间


使用
session\u set\u save\u handler
函数more info

有很多方法可以做到这一点,但作为一名工匠,您可以:

制作一个脚本,将用户的每个会话保存在一个文件中

转到PHP.ini并更改会话生存时间


使用
session\u set\u save\u handler
功能更多信息

session通常使用cookies,因此您的问题会自动与cookies有关OK,我知道,但您明白我的意思:)序列化会话并将其保存在文件中一些人对会话感到困惑。会话哈希引用存储在Cookie中。会话数据存储在服务器端,请在释放错误信息之前阅读会话。通常使用Cookie来记住会话ID。如何让浏览器/用户记住会话ID会话
php_value session.gc_maxlifetime 86400