加入收藏 | 设为首页 | 会员中心 | 我要投稿 我爱制作网_潮州站长网 (http://www.0768zz.com/)- 物联安全、建站、操作系统、云计算、数据迁移!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP实现分布式memcache设置web集群session同步的技巧

发布时间:2022-07-01 12:50:09 所属栏目:PHP教程 来源:互联网
导读:这篇文章主要介绍了PHP实现分布式memcache设置web集群session同步的方法,结合实例形式分析了php设置与使用memcache实现web集群session同步的相关操作技巧与注意事项,需要的朋友可以参考下。 本文实例讲述了PHP实现分布式memcache设置web集群session同步的方
  这篇文章主要介绍了PHP实现分布式memcache设置web集群session同步的方法,结合实例形式分析了php设置与使用memcache实现web集群session同步的相关操作技巧与注意事项,需要的朋友可以参考下。
 
  本文实例讲述了PHP实现分布式memcache设置web集群session同步的方法。
 
  php的session默认是文件存储:
 
  session.save_handler = files
 
  session.save_path = "/var/lib/php/session"
 
  当做web集群,需要session同步时,将session存到分布式memcache来达到共享同步是个不错的办法
 
  方法:
 
  第1种:
 
  vi /etc/php.ini
 
  session.save_handler = memcache
 
  session.save_path = "tcp://192.168.20.193:11211,tcp://192.168.20.194:11211"
 
  第2种:
 
  在php文件中使用ini_set函数进行配置,适合无法修改配置文件的虚拟主机
 
  <?php
  ....
  ini_set("session.save_handler", "memcache");
  ini_set("session.save_path", "tcp://192.168.20.193:11211,tcp://192.168.20.194:11211");
  ....
  ?>
  重启web服务器
 
  service httpd restart
 
  查看phpinfo
 
  测试
 
  192.168.20.193中的login.php
 
  <?php
  session_start();
  $_SESSION['login_time'] = time();
  $_SESSION['username'] = 'test2';
  $token=session_id();
  echo $token;
  //memache实现
  $mem = new Memcache();
  $mem->addServer('192.168.20.193',11211);
  $mem->addServer('192.168.20.194',11211);
  /*
  //memached实现
  $mem = new Memcached();
  $servers = array(
   array('192.168.20.193', 11211, 33),
   array('192.168.20.194', 11211, 67)
  );
  $mem->addServers($servers);
  */
  echo '<hr>';
  print_r($mem->get($token));
  ?>
  <div>
  <a href="http://192.168.20.194/user.php?token=<?php echo $token;?>" rel="external nofollow" target="_balnk">跳转到194网站的个人中心</a>
  </div>
  192.168.20.194中的user.php
 
  <?php
  $mem = new Memcache();
  $mem->addServer('192.168.20.193',11211);
  $mem->addServer('192.168.20.194',11211);
  $token=$_GET['token'];//获取传过来的token
  print_r($mem->get($token));
  ?>
  <div>
  <a href="http://192.168.20.193/user.php?token=<?php echo $token;?>" rel="external nofollow" target="_balnk">返回193网站的个人中心</a>
  </div>

(编辑:我爱制作网_潮州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读