session.save_handler=files
//默认以文件形式存储
//可选files、memcach、user。如果想要自定义处理器来存取session数据,比如database、redis,就用"user"
2、设置session存储的路径:
session.save_path="D:\xampp\tmp"
//用文件做介质时,session存储路径; 用memcache做介质时用作服务器连接串:session.save_path = "tcp://127.0.0.1:11211"3、session.use_strict_mode=0
4、session.use_cookies=1
//是否使用cookies在客户端保存会话sessionid,默认为1表示使用
5、;session.cookie_secure =
6、session.use_only_cookies=1
7、session.name=PHPSESSID
//在cookie中存储的SessionID的键名
8、是否自动初始化会话
session.auto_start=0
//默认为0不自动初始化,
//当session.auto_start = on时,自动完成了session_start(),执行 session_start() 将产生新的 session_id
9、session.cookie_lifetime=0
//SessionID在客户端Cookie储存的时间,默认是0,代表浏览器一关闭session_id就作废
10、session.cookie_path=/
//cookie的有效路径
一个是Session数据,该数据默认情况下是存放在服务器的tmp文件下的,是以文件形式存在
另一个是标志着Session数据的Session Id,Session ID,就是那个 Session 文件的文件名,Session ID 是随机生成的,因此能保证唯一性和随机性,确保 Session 的安全。一般如果没有设置 Session 的生存周期,则 Session ID 存储在内存中,关闭浏览器后该 ID 自动注销,重新请求该页面后,重新注册一个 session ID。如果客户端没有禁用 Cookie,则 Cookie 在启动 Session 会话的时候扮演的是存储 Session ID 和 Session 生存期的角色。
两个不同的域名网站,想用同一个Session,就是牵扯到Session跨域问题!
默认情况下,各个服务器会各自分别对同一个客户端产生 SESSIONID,如对于同一个用户浏览器,A 服务器产生的 SESSION ID 是 11111111111,而B 服务器生成的则是222222。另外,PHP 的 SESSION数据都是分别保存在本服务器的文件系统中。想要共享 SESSION 数据,那就必须实现两个目标:
一个是各个服务器对同一个客户端产生的SESSION ID 必须相同,并且可通过同一个 COOKIE 进行传递,也就是说各个服务器必须可以读取同一个名为 PHPSESSID 的COOKIE;另一个是 SESSION 数据的存储方式/位置必须保证各个服务器都能够访问到。这两个目标简单地说就是多服务器(A、B服务器)共享客户端的 SESSION ID,同时还必须共享服务器端的 SESSION 数据。
session 跨子域设置
session.cookie_path = /
session.cookie_domain = .mydomain.com //注意domain.com换成你自己的域名
session.cookie_lifetime = 1800