Ⅰ 我们在做登陆的时候,session怎么共享啊
session多端登录,就是保持session的一致性。由于session是唯一的,所以要保持session的唯一性,可以将session存放在一个地方,到时候大家取的时候,统一从一个地方取session,这样就保持了session的一致。
实现session的方法
其实就是将session存放在一个地方,大家存取就好了。至于其他都是附加的,原理就是酱紫。一般实现的方法有:
1)nfs文件共享系统,让不同项目访问同一个共享的文件。
2)存放在mysql。
3)存放在内存数据库,比如redis,memcache等。
4)基于cookie的共享。这个需要域名统一。
3.关于redis的session共享,其他类似
1)php.ini里面存放得有session的存放地址,可以将session的地址改成redis存放session的地址。session.save_path
但是一般这种服务器端会有访问控制。所以可以参考第二种方法
2)重写session,通过php代码更改session的存放路径什么的。php有相关的session重写的类。
Ⅱ php 如何使用session 让同一服务器上的2个域名同时登录
其实这个真正的学名叫 sso[单点登录]
我画个原理图给你看吧,你应该容易理解
代码其实没什么,也不是关键,关键是你的思路,人家写的代码也很难嵌入到你的系统中去。。
实现的方法很多,看你怎么想。。。。
Ⅲ PHP网页如何设置二级域名共享session
站点和站点之间是不能共享SESSION的,不管是几级域名。但是可以通过写cookie的方法或者单点登录、WEBSERVICE等技术使站点之间的信息相互交换和共享。
Ⅳ php中session作用域的问题,如下图,框架是library中的内容,现在给ad配一个域名,给admin配一个域名
在php中,服务器端和客户端之间的session是通过一个session_id来联系($_COOKIE['PHPSESSID'],这个PHPSESSID可以通过session_name()修改),并且session数据是以普通文件的形式保存在一个特定的文件夹里。
所以说,只要是同一台服务器,session数据目录相同,且两个域名使用了同一个session_id,那么两个域名就会共享session。
如果使用不同session的话,建议在两个域名进入的时候先使用session_destroy()清除原有的session_id,然后再重新session_start()生成新的session_id,这样就不会出现两个站点共享session的情况了。
Ⅳ php 一级域名和二级域名怎么公用session值能传递过去,到服务器不会记录session,怎
把session 设置在根域名下,
ini_set('session.cookie_domain', 'abc.com');