在每次加载页面时,我都看到会话cookie的值正在发生变化,因此每次都会创建一个新会话。我所做的只是session_start()
并使用php.ini
中的默认值设置一些样本测试数据,而不需要任何配置。
session.save_handler = files
session.save_path = "C:\xampp\tmp"
session.use_strict_mode = 0
session.use_cookies = 1
session.use_only_cookies = 1
session.name = PHPSESSID
session.auto_start = 0
session.cookie_lifetime = 0
session.cookie_path = /
session.cookie_domain =
session.cookie_httponly =
session.serialize_handler = php
session.gc_probability = 1
session.gc_divisor = 1000
session.gc_maxlifetime = 1440
session.referer_check =
在C:\xampp\tmp
中,我观察到每个页面加载时出现的新会话文件,打开时我看到我设置的数据在里面。所以问题是,我想,通过识别以前创建的会话文件。关于为什么会发生这种情况的任何想法?
我设置的数据只是为了查看会话是否正常工作
session_start();
if(isset($_SESSION['test'])){
$_SESSION['test']++;
}else{
$_SESSION['test'] = 1;
}
答案 0 :(得分:1)
我正在使用的框架有一个自定义cookie处理机制,可以将cookie加载到静态类中并清空$_COOKIE
。显然session_start()
依赖$_COOKIE
来默认检索会话ID,所以我要做的就是从cookies类提供会话ID
session_id(\Cookie::get('PHPSESSID'));
session_start();