«

PHP 会话管理详解

时间:2026-10-8 07:13     作者:emer     分类: 无


PHP 会话管理详解

Session 是 PHP 做用户登录状态管理的核心功能,搞懂它很重要。

1. 什么是 Session

2. 基础用法

// 开启会话(必须放在最前面)
session_start();

// 存数据
$_SESSION['user_id'] = 1;
$_SESSION['username'] = "test";

// 取数据
echo $_SESSION['username'];

// 判断是否登录
if (isset($_SESSION['user_id'])) {
    echo "已登录";
} else {
    echo "未登录";
}

// 销毁会话
session_destroy();

3. 登录验证示例

// 登录页
session_start();

if ($_POST['password'] == "123456") {
    $_SESSION['user'] = $_POST['username'];
    header("Location: dashboard.php");
}

// 验证页
session_start();
if (!isset($_SESSION['user'])) {
    header("Location: login.php");
    exit;
}

4. 常用配置

php.ini 里的配置:

; 会话有效期(分钟)
session.gc_maxlifetime = 1440

; Cookie 有效期(秒)
session.cookie_lifetime = 0

; 是否只允许 HTTP 访问 Cookie
session.cookie_httponly = On

5. 常见问题

1)session 丢失:

2)多服务器共享 Session:

3)安全问题:

6. Cookie vs Session

对比 Cookie Session
存储位置 客户端 服务器端
大小限制 4KB 无限制
安全性 低 高
生命周期 可长期保存 浏览器关闭就没了

7. 登出销毁

session_start();

// 清除所有 session 变量
$_SESSION = array();

// 清除 session cookie
if (isset($_COOKIE[session_name()])) {
    setcookie(session_name(), '', time()-42000, '/');
}

// 销毁 session
session_destroy();

总结

PHP 会话管理要点:

做用户系统,Session 是必须掌握的。

标签: PHP Session 登录 开发 会话