session 丢失问题
1. 存到memcached中, 十分简单, 在使用session之前, 加入下面两行代码
- int_set('session.save_handler', 'memcache');
- int_set('session.save_path', '127.0.0.1:11211');
2.存到数据库里面, 重新定义了session的生命周期
- <?php
- /**
- * Class SessionDBTool
- */
- class SessionDBTool{
- private $link; //数据库连接对象
- public function __construct(){
- //自定义session处理方法
- ini_set('session.save_handler','user');
- session_set_save_handler(
- array($this,'sess_open'),
- array($this,'sess_close'),
- array($this,'sess_read'),
- array($this,'sess_write'),
- array($this,'sess_destroy'),
- array($this,'sess_gc')
- );
- //开启session
- @session_start();
- }
- //开启session
- public function sess_open(){
- $this->link = MYSQLDB::getInstance($GLOBALS['config']['database']);
- //mysql_connect('localhost','root','root');
- //mysql_query('use shop');
- }
- public function sess_close(){
- return true;
- }
- //读取session
- public function sess_read($sess_id){
- $time = time();
- $expire = ini_get('session.gc_maxlifetime');
- $sql="select sess_data from it_session where sess_id='$sess_id' and $time - time < $expire";
- if($row=$this->link->fetchRow($sql)){
- return $row['sess_data'];
- }else{
- return '';
- }
- }
- //写入session
- public function sess_write($sess_id,$sess_data){
- $expire=time();
- //存在则更新
- $sql = "replace into it_session values('$sess_id','$expire', '$sess_data')";
- return $this->link->myquery($sql);
- }
- //销毁
- public function sess_destroy($sess_id){
- $sql="delete from it_session where sess_id='$sess_id'";
- return $this->link->myquery($sql);
- }
- //垃圾回收, 可以设置概率
- public function sess_gc($ttl){
- $now = time();
- $last = $now -$ttl;
- //删除过期session
- $sql = "delete from it_session where expire < $last";
- return $this->link->myquery($sql);
- }
- }
session 丢失问题的更多相关文章
- Linux下Session丢失原因
最近碰到一个问题,把代码迁移到linux系统下,重新搭建php环境,运行代码, 在登录页面时,不能访问后台,会返回到登录页面,对代码测试,没有报任何错误, 最后检查到是跳转时,session丢失的问题 ...
- 解决nginx中proxy_pass到tomcat的session丢失问题
之前在配置tomcat的时候都是一个项目对应一个tomcat,也就是一个端口.最近需要把两个项目整合到同一个tomcat中,通过配置nginx让两个域名指向同一tomcat的不同项目.整合完毕后发现其 ...
- Windows下Apache + PHP SESSION丢失的惨痛经历
今天的工作是迁移一个PHP站点至新服务器. 创建一台Windows Server 2008虚拟机,并在其上停掉net stop http服务(避免争抢80端口),安装配置 Apache + PHP,迁 ...
- ASP.NET 状态服务 及 session丢失问题解决方案总结
ASP.NET2.0系统时,在程序中做删除或创建文件操作时,出现session丢失问题.采用了如下方法:1.asp.net Session的实现:asp.net的Session是基于HttpModul ...
- web跨域访问,session丢失的问题
web跨域访问,session丢失的问题25 http://www.iteye.com/problems/71265 http://www.iteye.com/topic/264079 具体情况如下: ...
- session 丢失和解决方案
在ASP.NET的开发中,总遇到Session丢失.最常见的情况是当用户登录后将用户信息保存在Session中例如Session["user"]=user;在其后的页面中检查Ses ...
- Spring Boot+AngularJS中因为跨域导致Session丢失
http://blog.csdn.net/dalangzhonghangxing/article/details/52446821 如果还在为跨域问题烦恼,请查看博主的 解决angular+sprin ...
- asp.net 修改/删除站内目录操作后会导致Session丢失
http://www.jb51.net/article/21770.htm http://blog.chinaunix.net/uid-7425507-id-134216.html 在Web项目中使用 ...
- Session丢失的解决办法小结
最近在做ASP.NET项目时,测试网站老是取不出Session中的值,在网上搜索了一下,找到一些解决方法,记录在这里.最后使用存储在StateServer中的办法解决了问题. SessionState ...
- 解决网站在负载均衡环境下SESSION丢失的问题
在WEB场中,动态网页往往会因为几台主机做了负载而产生SESSION丢失的问题,网上也有很多的介绍,我这里只将我经历的过程给大家分享一下: 系统要运行在负载平衡的 Web 场环境中,而系统配置文件 ...
随机推荐
- 系统非正常关机启动后出现:an error occurred during the file system
现象描述: 1.系统ssh登录报Too many open files in system,系统登录不进去,就直接强制关机了,开机后出现(2)的错误: 由于文件描述符用完了,需要把fs.file-ma ...
- dockfile
dockerfile是对镜像的描述 新建一个dockfile文件 docker inspect
- Python之 Django 初级
Python的WEB框架有Django.Tornado.Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了ORM.模型绑定.模板引擎.缓存.Session等诸多功能. ...
- java MD5Utils 加密工具类
package com.sicdt.library.core.utils; import java.io.File; import java.io.FileInputStream; import ja ...
- 【HackerRank】Sherlock and MiniMax
题目连接:Sherlock and MiniMax Watson gives Sherlock an array A1,A2...AN. He asks him to find an integer ...
- Linux 调优
一.系统优化 1.硬件优化 增加内存 更换速度跟高磁盘(sata->sas)可以增加固态硬盘 更换更高校率的网卡,或者双网卡绑定,两个网卡作为一个网卡使用.服务器网卡一般为千兆 2.系统层优化 ...
- jQuery仿Android锁屏图案应用
在线演示 本地下载
- linux下安装jsp开发运行环境(centos7)
1 开发环境包括 1)apache-tomcat 2)java-jdk 3)mysql 2 apache-tomcat安装(应该先装java再装tomcat) 1)到官网下载最新版本(不建议用yum安 ...
- URI Is Not Registered
使用IntelliJ Maven生成archetype时候,偶然会出现xml文件的头定义提示错误 URI is not registered 例如: 解决方法: 鼠标点击红色字,然后Intellij出 ...
- 医院Android项目总结
Eclipse ADT 配置AVD 1.layout布局:xml 如ck_report.xml <Text view ...android:id="ck"> & ...