• 二级域名session 共享方案


    1.利用COOKIE存放session_id();

    实例:
    域名一文件php代码:
    <?php
    session_start();
    setcookie("session_id",session_id(),time()+3600*24*365*10,"/",".session.com");
     $_SESSION['user_name'] = '梁山良民';
    echo $_SESSION['user_name'];
    ?>

    域名二文件php代码:

    <?php
    session_destroy(); 
    session_id($_COOKIE['session_id']);
    session_start();
    echo $_SESSION['user_name'];
    ?>
    2.利用php.ini 的session.cookie_domain
    备注:这里是用php代码实现不需要修改php.ini的配置文件;如果有需要你可以在php.ini里面修改配置文件(该情况下就不需要改段代码:ini_set("session.cookie_domain",'session.com');)
    实例:
    域名一文件php代码:
    <?php
    ini_set("session.cookie_domain",'session.com');//注:该参数必须在sesson_start()之上,否则将不会生效
    session_start();
    $_SESSION['user_name'] = '梁山良民';
    echo $_SESSION['user_name'];
    ?>

    域名二文件php代码:

    <?php
    ini_set("session.cookie_domain",'session.com');
    session_start();
    echo $_SESSION['user_name'];
    ?>

    后期遇到问题需要特别说明哈,嘿嘿!

    第一:ini_set("session.cookie_domain",'session.com');必须放在session_start()之前;

    第 二:在某些网站测试的时候必须得注意,或许你本地没有问题,但是在其他机器上或者服务器上有问题,那么你需要检查 哈,ini_set("session.cookie_domain",'session.com');这个中的session.com中必须与你的域名 进行真实匹配!不然你的部分session值将会出现问题的!

    <?phpclass mdSession{  
      /*  
      
    多域名解决方案参考


    使用: 服务器A,服务器B,在A的index.php登陆,在B里建立一个接收SESSION的文件, 例如ses_get.php A的index.php做如下修改 最开始加上session_start(); <body></body>里, 任意一个地方写上:mdSession::_set('B/ses_get.php') 而ses_get.php则在开头写上 mdSession::_get(); @作者:surfchen@gmail.com http://www.surfchen.org/
    */ function mdSession(){} function set($urls) { if (!is_array($urls)) { $urls=array($urls); } foreach ($urls as $value) { echo '<span style="position:absolute;visibility:hidden"><iframe src="'.$value.'?'.session_id().'"></iframe></span>'; } return true; } function get() { session_id($_SERVER['QUERY_STRING']); session_start(); return true; } function _set($urls) { $obj=new mdSession(); return $obj->set($urls); } function _get() { $obj=new mdSession(); return $obj->get(); } } ?>
  • 相关阅读:
    设计模式 里氏替换原则
    java队列
    java 多线程
    设计模式-里氏替换原则
    设计模式-单一职责原则
    一、概念
    六、序列化和反序列化(对象流)
    七、随机访问文件流
    五、包装流
    四、字符输入输出流
  • 原文地址:https://www.cnblogs.com/hubing/p/3392041.html
Copyright © 2020-2023  润新知