会话在工作中过期或警告:session_cache_expire():会话处于活动状态时无法更改会话缓存过期
Either session expires in the middle of work or Warning: session_cache_expire(): Session cache expiration cannot be changed when a session is active
在 Windows 10 本地使用 PHP 8.0.6 我收到此错误消息:
Warning: session_cache_expire(): Session cache expiration cannot be changed when a session is active in C:\path\sessions.php on line 5
我在实时 Linux 服务器 (PHP 8.0.9) 上更新了相同的文件,但问题没有出现。
相关代码:
session_cache_expire($session_length);
我的第一个猜测是这个 可能 是一个 Windows 特定的问题,但是我刚刚看到访问实时服务器的其他人也遇到了这个问题。
此行的初衷是成员在会话中途注销,因为过期日期未根据客户端计算机向服务器。我添加了这一行,突然更新了会话 cookie 过期日期,但是这个错误会随机开始发生。如何在不发生这种无意义错误的情况下使会话保持活动状态?
文档 (php.net/manual/en/function.session-cache-expire.php) 指出:
“因此,您需要为每个请求调用 session_cache_expire()
(并且在调用 session_start()
之前 ”)。
我怀疑这是你的问题,但在没有看到更多你的代码之前不能确定。
在 Windows 10 本地使用 PHP 8.0.6 我收到此错误消息:
Warning: session_cache_expire(): Session cache expiration cannot be changed when a session is active in C:\path\sessions.php on line 5
我在实时 Linux 服务器 (PHP 8.0.9) 上更新了相同的文件,但问题没有出现。
相关代码:
session_cache_expire($session_length);
我的第一个猜测是这个 可能 是一个 Windows 特定的问题,但是我刚刚看到访问实时服务器的其他人也遇到了这个问题。
此行的初衷是成员在会话中途注销,因为过期日期未根据客户端计算机向服务器。我添加了这一行,突然更新了会话 cookie 过期日期,但是这个错误会随机开始发生。如何在不发生这种无意义错误的情况下使会话保持活动状态?
文档 (php.net/manual/en/function.session-cache-expire.php) 指出:
“因此,您需要为每个请求调用 session_cache_expire()
(并且在调用 session_start()
之前 ”)。
我怀疑这是你的问题,但在没有看到更多你的代码之前不能确定。