php页面每次刷新都会产生新的SESSION_ID
2021/08/17
php页面每次刷新都会产生新的SESSION_ID
session文件夹禁止写
php.ini配置
浏览器禁用cookie
本地服务器使用的集群,nginx配置iphash来区分用户,正式服务器没有使用iphash区分
php页面session_start不能正确启动
解决办法:
1.session文件夹禁止写入
windows下添加写入权限。
linux下chmod 0777
2.php.ini配置
session.use_trans_sid = 1
[Session]
session.save_handler = files ; 用于保存/取回数据的控制方式
session.save_path = C:\win\temp ; 在 save_handler 设为文件时传给控制器的参数,
; 这是数据文件将保存的路径。
session.use_cookies = 1 ; 是否使用cookies
session.name = PHPSESSID
; 用在cookie里的session的名字
session.auto_start = 0 ; 在请求启动时初始化session
session.cookie_lifetime = 0 ; 为按秒记的cookie的保存时间,
; 或为0时,直到浏览器被重启
session.cookie_path = / ; cookie的有效路径
session.cookie_domain = ; cookie的有效域
session.serialize_handler = php ; 用于连接数据的控制器
; php是 PHP 的标准控制器。
session.gc_probability = 1 ; 按百分比的'garbage collection(碎片整理)'进程
; 在每次 session 初始化的时候开始的可能性。
session.gc_maxlifetime = 1440 ; 在这里数字所指的秒数后,保存的数据将被视为
; '碎片(garbage)'并由gc 进程清理掉。
session.referer_check = ; 检查 HTTP引用以使额外包含于URLs中的ids无效
session.entropy_length = 0 ; 从文件中读取多少字节
session.entropy_file = ; 指定这里建立 session id
; session.entropy_length = 16
; session.entropy_file = /dev/urandom
session.cache_limiter = nocache ; 设为{nocache,private,public},以决定 HTTP 的
; 缓存问题
session.cache_expire = 180 ; 文档在 n 分钟后过时
session.use_trans_sid = 1 ; 使用过渡性的 sid 支持,若编译时许可了
; --enable-trans-sid
url_rewriter.tags = " a=href,area=href,frame=src,input=src,form=fakeentry" 3.浏览器禁用cookie
启用cookie或者session.use_trans_sid = 1
4.服务器使用的集群,nginx配置iphash来区分用户,正式服务器没有使用iphash区分
php页面里,如果有
ini_set('session.name',$_SERVER['DOCUMENT_ROOT']),注释掉。
5.php页面session_start不能正确启动
将php.ini里session.auto_start设置为1;页面内
if( !isset($_SESSION)){session_start()};
其他相关
if (!is_writable(session_save_path()))
{
echo 'Session save path "'.session_save_path().'" is not writable!';
}服务器配置为集群模式,防止session跨域在页面顶部ini_set('session.name',$_SERVER['DOCUMENT_ROOT'])
上一篇:
ios app打包分发
下一篇:
php批量清除bom头
静水缘首页
文章分类
最新文章
- nodejs私钥加密公钥解密的一个例子
- uniapp和微信小程序判断程序运行在开发或者测试或者线上版本的方法分别是什么
- electron使用electron-builder打包后模块包含exe文件执行失败
- Compile is disallowed on the main thread, if the buffer size is larger than 4KB
- better-sqlite3简介及常用操作
- nodejs 操作数据库的库
- nodejs使用http-proxy库实现多个域名代理和同时代理websocket的例子,代理包含https和http两种协议
- iis配置反向代理
- javascript伪多线程代码
- ip所在地址段判断