php session_destroy() setcookie 时间()

标签 php session-cookies

example on php.net使用session_destroy(),它指定删除一个cookie:

if (ini_get("session.use_cookies")) {
    $params = session_get_cookie_params();
    setcookie(session_name(), '', time() - 42000, $params["path"], $params["domain"], $params["secure"], $params["httponly"]);
}

是否应该更改 42000 秒?应该使用什么值?我不记得在我的 session 中设置过任何 cookie,但我相信 php.ini 已将其设置为默认使用 cookie。

最佳答案

PHP 默认设置 cookie。当您在 PHP 中创建 session 时,PHP 将生成相应的 session ID 并在 HTTP header 中的请求中来回传递该 ID。这就是服务器知道哪些 session 数据与特定用户关联的方式。

您无需更改42000。这个数字的目的是将 cookie 设置为过期一段时间。通过这样做,浏览器将删除相应的cookie,删除对服务器上存储的 session 数据的引用,从而“清除” session 。

服务器上的 session 数据稍后将由 PHP 垃圾收集器删除,具体时间由 php.ini 配置文件中指定的时间指定。

下面是安装 PHP 时使用的默认 session 配置设置的引用。

引用: Session Configuration Settings

关于php session_destroy() setcookie 时间(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24208469/

相关文章:

php - 使用 PostgreSQL 或 Mysql 的 SQL 查询进度

php - 使用 PHP 维护不同页面的对象状态

php - htaccess : redirect an image path to a PHP script

django - 使子域读取父域 session

ruby-on-rails - 记住用于登录 Ruby on Rails 的用户电子邮件地址

php - 如何在 Laravel 5.5 中将 base64 图像上传到 S3 存储桶中

php - 使用 MySQLi 设置字符集

php - 登录 ISP Config 永远破坏了我的 PHP session 和 cookie

jboss 集群 session 复制不起作用(多个 jsessionid cookie)

javascript - PIXI : browser sends no cookies with Texture. fromImage()