在 PHP 中,可以通过 session.cookie_lifetime
配置选项来设置 session ID 的过期时间。这个值是以秒为单位的,表示 cookie 的生命周期。默认情况下,这个值是 0,表示 cookie 仅在浏览器会话期间有效,当浏览器关闭时,cookie 就会被删除。
要更改 session ID 的过期时间,可以在 php.ini 文件中设置 session.cookie_lifetime
的值,或者使用 ini_set()
函数在运行时动态设置。例如,要将 session ID 的过期时间设置为 30 分钟,可以执行以下操作:
- 在 php.ini 文件中设置:
session.cookie_lifetime = 1800
- 使用
ini_set()
函数动态设置:
ini_set('session.cookie_lifetime', 1800);
注意:在调用 session_start()
函数之前,必须先设置这些选项。因此,建议在脚本开头的适当位置设置这些选项。
另外,还可以使用 session_set_cookie_params()
函数来设置 session cookie 的属性,包括过期时间、路径、域名和安全标志。例如:
$lifetime = 1800; // 30 分钟 session_set_cookie_params($lifetime, '/', '', false, true); session_start();
这将设置 session cookie 的过期时间为 30 分钟,同时设置了其他一些属性,如路径、域名和安全标志。在调用 session_start()
函数之前,必须先调用 session_set_cookie_params()
函数。