技术栈: Nginx > Apache > PHP > BitrixCMS。
问题:如果不活动时间在 24 分钟到 55 分钟之间,PHP 将通过发送新的 PHPSESSID cookie 作为响应来丢弃会话。如果不活动时间超过 55 分钟,那么 PHP 将通过在没有新 PHPSESSID cookie 的情况下进行响应来接受会话,并在处理具有 60 分钟旧 PHPSESSID 的进一步请求时完成操作。
OK 示例:“设置”请求和“完成”请求 30 分钟不活动。服务器通过在响应头中发送新的 PHPSESSID 来删除会话
[REQUEST]
Request URL: https://example.com/set-up/
Request Method: POST
...
Cookie: PHPSESSID=21hg579oq7n28h0la7061dhsh5; ...
...
[RESPONSE]
...
Date: Tue, 08 Jun 2021 13:34:39 GMT
...
[REQUEST]
Request URL: https://example.com/complete/
Request Method: POST
...
Cookie: PHPSESSID=21hg579oq7n28h0la7061dhsh5; ...
...
[RESPONSE]
...
Date: Tue, 08 Jun 2021 14:03:44 GMT
Set-Cookie: PHPSESSID=97d4106db4d1095ad053d96f74366739; path=/ ...
...
NOK 示例:“设置”请求和“完成”请求,60 分钟不活动。服务器不会丢弃会话(没有 set-cookie 标头)并处理所有具有 60 分钟旧 PHPSESSID 的请求。
[REQUEST]
Request URL: https://example.com/set-up/
Request Method: POST
...
Cookie: PHPSESSID=qkfhm4udb1sd9p1bprj5o90c3i; ...
...
[RESPONSE]
...
Date: Wed, 09 Jun 2021 06:39:39 GMT
...
[REQUEST]
Request URL: https://example.com/complete/
Request Method: POST
...
Cookie: PHPSESSID=qkfhm4udb1sd9p1bprj5o90c3i; ...
...
[RESPONSE]
...
Date: Wed, 09 Jun 2021 07:39:15 GMT
...
问题: 我知道这很可能是 PHP 代码中的错误,正在检查中。对这种情况有什么建议吗?任何可以在这里产生影响的配置?