当前位置:首页 > PHP教程 > php高级应用 > 列表

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

发布:smiling 来源: PHP粉丝网  添加日期:2021-09-07 10:18:07 浏览: 评论:0 

这篇文章主要介绍了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函数进行配置,适合无法修改配置文件的虚拟主机

  1. <?php 
  2. .... 
  3. ini_set("session.save_handler""memcache"); 
  4. ini_set("session.save_path""tcp://192.168.20.193:11211,tcp://192.168.20.194:11211"); 
  5. .... 
  6. ?> 

重启web服务器

service httpd restart

查看phpinfo

测试

192.168.20.193中的login.php

  1. <?php 
  2. session_start(); 
  3. $_SESSION['login_time'] = time(); 
  4. $_SESSION['username'] = 'test2'
  5. $token=session_id(); 
  6. echo $token
  7. //memache实现 
  8. $mem = new Memcache(); 
  9. $mem->addServer('192.168.20.193',11211); 
  10. $mem->addServer('192.168.20.194',11211); 
  11. /* 
  12. //memached实现 
  13. $mem = new Memcached(); 
  14. $servers = array( 
  15.  array('192.168.20.193', 11211, 33), 
  16.  array('192.168.20.194', 11211, 67) 
  17. ); 
  18. $mem->addServers($servers); 
  19. */ 
  20. echo '<hr>'
  21. print_r($mem->get($token)); 
  22. ?> 
  23. <div> 
  24. <a href="http://192.168.20.194/user.php?token=<?php echo $token;?>" rel="external nofollow" target="_balnk">跳转到194网站的个人中心</a> 
  25. </div> 

192.168.20.194中的user.php

  1. <?php 
  2. $mem = new Memcache(); 
  3. $mem->addServer('192.168.20.193',11211); 
  4. $mem->addServer('192.168.20.194',11211); 
  5. $token=$_GET['token'];//获取传过来的token 
  6. print_r($mem->get($token)); 
  7. ?> 
  8. <div> 
  9. <a href="http://192.168.20.193/user.php?token=<?php echo $token;?>" rel="external nofollow" target="_balnk">返回193网站的个人中心</a> 
  10. </div>

Tags: memcache web集群session

分享到: