php web分布式后,memcache存session实现多域名跨域登录

先上图:


分布式后,会员登录会遇到session不统一的情况。所以我们就要找到一个地方让网站分布式的机器可以读到同一个session。方法有3个:

1.nfs将文件同步 (在各子机上配上这个软件就可以了,实现文件共享)

2.mysql (读同一个数据库,程序需添加,而且耗IO,最不建议使用)

3.memcache(将session存在内存,读写速度快,机子挂了神马都没有了,不过还是建议用这个)

php如何将session存入memcache?

1.在各需要会员session的机子中,php.ini都配上这个。

[Session]
; Handler used to store/retrieve data.
; http://php.net/session.save-handler
;session.cookie_domain = ".a.com"  不知道为什么在这里配起不了作用,要在php代码上写ini_set('session.cookie_domain','.a.com');才起作用
;session.cookie_path = "/"
;session.cookie_lifetime = "1800"
;session.use_trans_sid = "1"<span style="white-space:pre">	</span>
session.save_handler = memcache

; Argument passed to save_handler.  In the case of files, this is the path
; where data files are stored. Note: Windows users have to change this
; variable in order to use PHP's session functions.
;
; The path can be defined as:
;

session.save_path = "tcp://192.168.1.17:11211"

2.在网站应用中,在sessio_start()前写上
ini_set('session.cookie_domain','.a.com');
session_start()

就这样就可以了,我用多bulutu.a.com,myweb.a.com这两个个域名分布在不同的机子上做轮询,用另外一台机子做abc.a.com专做这个网站。就是用这个配置就可实现跨越同步登陆的问题。

在日后的日子里要把“记住密码”这个功能也加上去。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值