我添加了一些代码,以防止用户自动注销(会话)。 - 但是它仍然会在很长时间后记录用户
我想要的是让用户能够访问多个页面……
有几种方法可以解决这个问题:
您可以更改服务器本身会话的生命周期,或者如果您无法访问服务器设置,您可以尝试通过代码覆盖它:
ini_set('session.gc_maxlifetime', 6000000);
session.gc_maxlifetime手册
如果您无法更改服务器上会话的生命周期,您可以使用这个小代码'技巧',请记住,如果客户端pc关闭或进入睡眠模式,会话也将过期:
基本上你创建一个PHP脚本包含:
session_start();
其次,您只需使用以下代码编写一些jquery:
$(document).ready(function() { // keep alive setTimeout(keepalive(),120000); }); function keepalive() { $.get( "url/to/ajax.php", function( data ) { setTimeout(callserver,12000); }); }
你可以用一招, http://php.net/manual/en/function.session-start.php#example-5997
从...开始 Php version 7.0 添加了一个选项,以防止会话过期。 86400的时间表示1天。您可以根据需要进行调整。
Php version 7.0
if (session_status() == PHP_SESSION_NONE) { if (version_compare(PHP_VERSION, '7.0.0') >= 0) { session_start(['cookie_lifetime' => 86400,]); } else { session_start(); } }
你可以放在顶部 Php 文件或在项目中包含带有此代码的文件。
Php
希望这有帮助。