不同的域名生成的session_id是不一样的,(就算是相同的主域,例如:www.test.com, blog.test.com 都不一样);

相同的主域,不同的二级域名,例如www和blog都是不共享cookie的,要如何共享呢?

setcookie("age", "1000000000", time()+3600,'/','test.com');  //这里指定主域的地址,这样,其二级域名就都可以访问这个cookie了。

那么二级域名之间是如何共享session的呢?

session的读取是根据session_id来从session的存储位置来读取的,那么如果在www和test之间能传递session_id那不就是可以共享session了?

比如在www目录下面有index.php 的代码

<?php
session_start();
setcookie("age", "1000000000", time()+3600,'/','test.com');

$session_id = session_id();

setcookie("PHPSESSID", $session_id, time()+3600,'/','maxomnis.com');       //这里的PHPSESSID为session_id默认的存储的名字,如果php.ini修改了这里也要修改;

那么在blog目录下面的index.php如下的代码, 就可以去取到上面的age值了

<?php
session_start();
var_dump($_COOKIE);

不过首先上面的情况是www,blog都是在同一台服务器上,因为都是共用的同一台服务器,并且是同一个php-fpm所以能访问同一个路径下存储的session文件;

那如果www.test.com, blog.test.com两个是不同的服务器,那怎么共享session呢?

1.session都存在数据库里面,两个应用都访问同一个数据库,那么这样就可以解决共享的问题了, disucz, phpcms都是用的这种做法, 这种做法的弊端是,如果PV比较高的情况,会有性能的问题,因为每次session访问都要操作数据库。

2.session存储在redis,memcache这种缓存里面,这种一种比较通用的做法,性能好,易扩展.

session,cookie总结的更多相关文章

  1. session & cookie(li)

    Session & Cookie 一.定义 Session,用户在浏览某个网站时,从进入网站到浏览器关闭所经过的这段时间,也就是用户浏览这个网站所花费的时间.Cookie,由服务器端生成,发送 ...

  2. web也是区分前端与后端的,session\cookie辨析

    <1>Ajax交互方式 Ext.Ajax.request( { //被用来向服务器发起请求默认的url url : "", //请求时发送后台的参数,既可以是Json对 ...

  3. 浅析session&cookie

    session&cookie没有出现的黑暗时代 大家都知道,HTTP协议是一种无状态的协议,本次请求下一次请求没有任何的关联,所有没有办法直接用http协议来记住用户的信息,试想一向,每一次点 ...

  4. http之Session&Cookie

    百度了一波session与Cookie,我发现这东西远比我想象中更复杂(可能是因为我不明白底层的运行原理).网上也是一堆的关于Session与Cookie区别/联系的文章,然而,我看完了还是一脸懵逼的 ...

  5. Asp.net MVC使用Model Binding解除Session, Cookie等依赖

    上篇文章"Asp.net MVC使用Filter解除Session, Cookie等依赖"介绍了如何使用Filter来解除对于Session, Cookie的依赖.其实这个也可以通 ...

  6. Asp.net MVC使用Filter解除Session, Cookie等依赖

    本文,介绍了Filter在MVC请求的生命周期中的作用和角色,以及Filter的一些常用应用场景. 同时针对MVC中的对于Session,Cookie等的依赖,如何使用Filter解依赖. 如果大家有 ...

  7. [转]Asp.net MVC使用Filter解除Session, Cookie等依赖

    本文转自:http://www.cnblogs.com/JustRun1983/p/3279139.html 本文,介绍了Filter在MVC请求的生命周期中的作用和角色,以及Filter的一些常用应 ...

  8. [转载]JavaEE学习篇之——Session&&Cookie

    原文链接: http://blog.csdn.net/jiangwei0910410003/article/details/23337043 今天继续来看看JavaWeb的相关知识,这篇文章主要来讲一 ...

  9. Redis+Django(Session,Cookie)的用户系统

    一.Django authentication django authentication提供了一个便利的user api接口,无论在py中 request.user,参见Request and re ...

  10. Asp.net 服务器Application,Session,Cookie,ViewState和Cache区别

    2.8 Context 的使用Context 对象包含与当前页面相关的信息,提供对整个上下文的访问,包括请求.响应.以及上文中的Session 和Application 等信息.可以使用此对象在网页之 ...

随机推荐

  1. fabric 安装及简单使用 (centos6)

    fabric 是一个python的库,fabric可以通过ssh批量管理服务器. 第一步安装依赖包 安装epel源 1 wget -O /etc/yum.repos.d/epel.repo http: ...

  2. Webstorm2016使用技巧——SVN插件使用(svnToolBox)

    1. 安装SVN 我这里使用的是TortoiseSVN-1.9.4.27285-x64-svn-1.9.4,安装过程需要注意的是,默认安装没有选择”command line client tools” ...

  3. sass入门篇

    CSS 预处理器定义了一种新的语言,其基本思想是,用一种专门的编程语言,为 CSS 增加了一些编程的特性,将 CSS 作为目标生成文件,然后开发者就只要使用这种语言进行编码工作. 通俗的说,“CSS ...

  4. 3.MySQL优化---单表查询优化的一些小总结(非索引设计)

    整理自互联网.摘要: 接下来这篇是查询优化.其实,大家都知道,查询部分是远远大于增删改的,所以查询优化会花更多篇幅去讲解.本篇会先讲单表查询优化(非索引设计).然后讲多表查询优化.索引优化设计以及库表 ...

  5. OpenCV教程【001 Mat显示图片】

    #include <opencv2\opencv.hpp> #include <iostream> #include <string> using namespac ...

  6. Java 代码复用 —— 泛型

    public interface Comparable<T> { public int compareTo(T o); } 1. 接口(Comparable:可比较接口) public s ...

  7. vector的简单运用(士兵队列训练问题)

    某部队进行新兵队列训练,将新兵从一开始按顺序依次编号,并排成一行横队,训练的规则如下:从头开始一至二报数,凡报到二的出列,剩下的向小序号方向靠拢,再从头开始进行一至三报数,凡报到三的出列,剩下的向小序 ...

  8. LeetCode Sum of Square Numbers

    原题链接在这里:https://leetcode.com/problems/sum-of-square-numbers/description/ 题目: Given a non-negative in ...

  9. 数据库使用JDBC连接的方式

    下面罗列了各种数据库使用JDBC连接的方式,可以作为一个手册使用. 1.Oracle8/8i/9i/10g/11g数据库(thin模式) Class.forName("oracle.jdbc ...

  10. visualvm-profile以及远程访问

    使用visualvm的Profiler功能,可以提供两方面的性能跟踪功能: Profile 一个是CPU,可以跟踪每个方法占用CPU的时长:比如你在发现CPU持续走高的时候可以通过Profile的CP ...