php qstr,PHP实现多服务器共享SESSION 数据(2)

php qstr,PHP实现多服务器共享SESSION 数据(2)多主机共享保存 SESSIONID 的 COOKIEini set session cookie domain domain 将 session save handler 设置为 user 而不是默认的 filessession module name user 定义 SESSION 各项操作所对应的方法名 session set save handler ar

//多主机共享保存 SESSION ID 的 COOKIE

ini_set(‘session.cookie_domain’,    $domain);

//将 session.save_handler 设置为 user,而不是默认的 files

session_module_name(‘user’);

//定义 SESSION 各项操作所对应的方法名:

session_set_save_handler(

array(‘My_Sess’, ‘open’),   //对应于静态方法 My_Sess::open(),下同。

array(‘My_Sess’, ‘close’),

array(‘My_Sess’, ‘read’),

array(‘My_Sess’, ‘write’),

array(‘My_Sess’, ‘destroy’),

array(‘My_Sess’, ‘gc’)

);

}   //end function

function open($save_path, $session_name) {

return true;

}   //end function

function close() {

global $MY_SESS_CONN;

if ($MY_SESS_CONN) {    //关闭数据库连接

$MY_SESS_CONN->Close();

}

return true;

}   //end function

function read($sesskey) {

global $MY_SESS_CONN;

$sql = ‘SELECT data FROM sess WHERE sesskey=’ . $MY_SESS_CONN->qstr($sesskey) . ‘ AND expiry>=’ . time();

$rs =& $MY_SESS_CONN->Execute($sql);

if ($rs) {

if ($rs->EOF) {

return ”;

} else {    //读取到对应于 SESSION ID 的 SESSION 数据

$v = $rs->fields[0];

$rs->Close();

return $v;

}   //end if

}   //end if

return ”;

}   //end function

function write($sesskey, $data) {

global $MY_SESS_CONN;

$qkey = $MY_SESS_CONN->qstr($sesskey);

$expiry = time() + My_SESS_TIME;    //设置过期时间

//写入 SESSION

$arr = array(

‘sesskey’ => $qkey,

‘expiry’  => $expiry,

‘data’    => $data);

$MY_SESS_CONN->Replace(‘sess’, $arr, ‘sesskey’, $autoQuote = true);

return true;

}   //end function

function destroy($sesskey) {

global $MY_SESS_CONN;

$sql = ‘DELETE FROM sess WHERE sesskey=’ . $MY_SESS_CONN->qstr($sesskey);

$rs =& $MY_SESS_CONN->Execute($sql);

return true;

}   //end function

function gc($maxlifetime = null) {

global $MY_SESS_CONN;

$sql = ‘DELETE FROM sess WHERE expiry

$MY_SESS_CONN->Execute($sql);

//由于经常性的对表 sess 做删除操作,容易产生碎片,

//所以在垃圾回收中对该表进行优化操作。

$sql = ‘OPTIMIZE TABLE sess’;

$MY_SESS_CONN->Execute($sql)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/207335.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 下午2:03
下一篇 2026年3月19日 下午2:03


相关推荐

  • 在非XP操作系统下模拟的LockWorkStation函数

    在非XP操作系统下模拟的LockWorkStation函数在非XP操作系统下模拟的LockWorkStation函数文章作者:Delphiscn信息来源:邪恶八进制信息安全团队程序功能:可在非XP的操作系统下所定计算机(为了程序的界面美观,我使用了SUIPack控件,有兴趣的朋友可以去Delphibox.com下载)*********************************************************…

    2022年7月21日
    17
  • 大篆汉字对照表_篆书转换器软件下载(篆体字转换汉字对照表)[通俗易懂]

    笔顺篆书的笔顺和汉字笔顺规则基本相仿,如先横后竖、从上到下、从左到右等,这些对初学者来说是不成问题的。重要的是和汉字不同的笔顺,而这些不同之处正是篆书笔顺的特点,掌握了这些特点,就能把握好篆书的结体,做到匀称匀衡。先中间后左右对称均衡是篆字的特点。对于有中心竖线的篆字,应先写中间竖笔或中间部位的笔画,中间定位后,再写左右对称的其他笔画。对于有中心长弧(一般为撇、捺笔)的篆字,应先从中间长弧写起,再…

    2022年4月18日
    112
  • 启用shift后门的方法_shift按五次怎么取消

    启用shift后门的方法_shift按五次怎么取消一、什么是shift后门?shift后门是黑客希望以后方便进入服务器而在没有密码的情况下为进入服务器系统而设置的一个后门。其操作就是在不知道管理员密码的情况下,连续按5次shift键来启动粘滞键,已进入服务器的系统程序管理器。二、shift后门的制作?其制作有很多种,下面介绍一种常用的,可以明白其原理自己扩展:在cmd窗口,敲打命令如下:copyc:\windows\ex

    2026年1月19日
    5
  • OV7725寄存器配置_i2c总线通信距离

    OV7725寄存器配置_i2c总线通信距离OV7725寄存器配置(为了替换NT99141研究了很长一段时间)部分参考链接:OV7725电器特性和时序图:https://www.cnblogs.com/raymon-tec/p/5087088.htmlOV7725摄像头的彩色图像采集原理与液晶显示(有必要了解框图):https://blog.csdn.net/huzhoudaxia/article/details/75269392…

    2026年3月2日
    6
  • SQL语句大全大全(经典珍藏版)

    SQL语句大全大全(经典珍藏版)SQL语句大全–语句功能–数据操作SELECT–从数据库表中检索数据行和列INSERT–向数据库表添加新数据行DELETE–从数据库表中删除数据行UPDATE–更新数据库表中的数据-数据定义CREATETABLE–创建一个数据库表DROPTABLE–从数据库中删除表ALTERTABLE–修改数据库表结构CREATEVIEW

    2022年5月19日
    46
  • 粒子群算法详解

    粒子群算法详解一.产生背景  ❃粒子群算法(particleswarmoptimization,PSO)由Kennedy和Eberhart在1995年提出,该算法对于Hepper的模拟鸟群(鱼群)的模型进行修正,以使粒子能够飞向解空间,并在最好解处降落,从而得到了粒子群优化算法。❃同遗传算法类似,也是一种基于群体叠代的,但并没有遗传算法用的交叉以及变异,而是粒子在解空间追随最优的粒子进行搜索。

    2022年6月10日
    36

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号