session.gc_maxlifetime和session.cookie_lifetime之间的问题

Rui*_*ant 6 php session-timeout session-cookies

我在stackoverflow中的第一个问题.提前致谢!

我对PHP会话机制很困惑.我通过PHP了解session.gc_maxlifetime - ini_set('session.gc_maxlifetime',5) - 为什么它不会结束会话?.但我仍然不知道session.gc_maxlifetime和session.cookie_lifetime之间的区别.

问题:如果session.cookie_lifetime的时间已经结束,会发生什么?会话cookie是否会直接从客户端计算机中删除?

我需要弄清楚这个问题,然后再继续问一些问题.

ahP*_*hPo 5

session.gc_maxlifetime是会话数据被视为垃圾数据的时间(以秒为单位)。换句话说,您可以说这是未使用的 PHP 会话保持活动状态的时间。

session.cookie_lifetime是会话 cookie 的生命周期(以秒为单位),无论会话是否处于活动状态。因此 cookie 将一直保持活动状态,直到给定的时间过去

请参阅:
http://www.php.net/manual/en/session.configuration.php#ini.session.gc-maxlifetime https://blogs.oracle.com/oswald/entry/php_session_gc_maxlifetime_vs


Leg*_*egy 2

cookie 的生命周期被传输到客户端。如果 cookie 的生命周期已经结束,客户端通常会删除它。所以它是客户端。此外,即使 cookie 消失后,会话也可以保持活动状态,因为您可以再次创建相同的 cookie、延长其生命周期,或者通过 uri 传输会话 ID。

希望有帮助!