关于session

2019-03-25 13:49|来源: 网路

有2个网站sit1和sit2.当一个用户进入sit1时,使用servlet的session对象跟踪它的session,用户从sit1切换到sit2,过一段时间又回到sit1.这时,用户的旧session就被丢掉了。为了能保证旧的session,并在用户回到sit1时继续使用这个session,请问可以将timeouts设置为-1吗?为什么?这样有什么缺点?给出更好的解决方案。

相关问答

更多
  • 这个主要是在php.ini有相关的设置,如果设置session为自动打开就不需要使用session_start();
  • 一次会话的唯一标识
  • 如果不实现自己的会话提供程序,我不相信你能做到这一点。 这个MSDN页面上有一些信息 。 ASP.NET应用程序本质上是多线程的。 因为并行到达的请求是在从线程池中提取的并发线程上处理的,所以针对同一会话的两个或多个请求可能会同时执行。 (典型的例子是当一个页面包含两个帧时,每个帧都针对同一个应用程序中的不同ASPX,导致浏览器提交两个页面的重叠请求。)为了避免数据冲突和不稳定的行为,提供者“锁定”会话当它开始处理第一个请求时,导致针对同一会话的其他请求等待锁定释放。 因为允许并发请求执行重叠读取没有坏处, ...
  • 你有一台服务器吗? 如果是这样,如果数据太大而无法存储在数据库中,则可以将数据存储为本地文件。 但是,这不会扩展到多个服务器,除非它们在某处具有公共文件访问权限。 否则,像数据库或分布式缓存这样的东西将是最好的选择。 Do you have a single server? If so, you could store the data as a local file if it's too large to store in a database. That won't scale to multiple ...
  • 我认为您在注销时不会重置您的会话。 尝试这个: 的login.php
  • 我发现了问题,问题是它是共享服务器内域内的一个域,也许这就是为什么它有$ _SESSIONS的问题,我只是在共享服务器的根域中托管它的原因。 现在它确实有效。 I found the problem, the thing is it's a domain inside a domain inside a shared server, maybe that's why it had problems with $_SESSIONS, what I just did what host it in the ro ...
  • 您的编辑器很可能写了一个BOM(字节顺序标记)来表明该文件是UTF-8。 由于该标记出现在任何
  • 使用session_destroy() ,会话cookie被删除,会话不再存储在服务器上。 $_SESSION的值可能仍然可用,但它们不会在下一页加载时出现。 如果要完全清除会话,可以使用: session_start(); session_destroy(); $_SESSION = array(); After using session_destroy(), the session cookie is removed and the session is no longer stored on th ...
  • $ _SESSION是一个关联数组。 因此,您存储在其中的内容不是单独的“会话”,而是数组中的值。 由于$ _SESSION在会话到期时被丢弃,因此其所有值都会同时消失。 所以没有:$ _SESSION数组中的一个这样的值不会在另一个之前到期,它们会在同一时间到期。 有关使用会话和$ _SESSION的更多信息: http : //www.php.net/manual/en/session.examples.basic.php $_SESSION is an associative array. So th ...
  • 您无法执行任何操作来启用直接unset($var)语法。 那是因为PHP中没有钩子可以让你自定义未unset的行为 - 这就是魔术方法__unset ,但只有在对象属性上调用时才会起作用。 There is nothing you can do that will enable the straight unset($var) syntax. That's because there is no hook in PHP that lets you customize the behavior of unse ...