robin 发表于 2017-4-1 07:48:40

php跨子域session共享

  需求:
  有三个个系统:
  app1.inspur.com
  app2.inspur.com
  login.inspur.com
  三个系统一级域名相同,想通过共享cookie和session来实现单点登录。
  解决办法:
  实现该功能,须满足两个条件:
  1、客户端共享sessionId
  2、服务器端共享session数据文件
  条件一实现:
  默认条件下,cookie的域是当前服务器的域名或者IP地址,上述三个系统二级域名不一样,默认配置下,是无法共享cookie的,我们可以通过修改默认配置,使上述三个系统的cookie都写到同一个域名下。
  找到上述三个应用服务器的php.ini文件,将 session.cookie_domain = 的值设置为 .inspur.com ,即
  session.cookie_domain = .inspur.com
  条件二实现:
  同样找到上述三个应用服务器的php.ini文件,修改 session.save_path  和 session.save_handler,php的session文件默认是存储在文件系统中的,为实现共享我们可以修改为数据库储存或者memcache缓存存储。
  如:
  session.save_path = "tcp://192.168.1.126:11211"
  session.save_handler = memcache
  http://huangqiqing123.iteye.com/blog/1874073
页: [1]
查看完整版本: php跨子域session共享