当前位置:首页> 编程笔记> PHP 开发
关键字
文章内容
如何实现网站的SESSION与QQ账号登陆SESSION的集成
 
 
修改时间:[2012/06/14 01:18]    阅读次数:[2350]    发表者:[起缘]
 

在把QQ账号登陆集成到网站上时,网站的登陆模块就使用SESSION,在集成QQ账号登陆的过程中,发现怎么也不能把QQ登陆的SESSION用在网站上,后来没办法了,把/COMM/SESSION.PHP下的文件改了3处,分别如下:

1.

/**
 * 指定session有效的域名
 * ini_set("session.cookie_domain", ".domain.com");
 * .domain.com是站点的主域名,请注意前面个有一个'.'
 */
define("MAIN_DOMAIN", "www.eoncn.com");   //设置主域名

/**
 * 不同子域名下共享session信息
 * COOKIE_DOMAIN = false 禁止该功能
 * COOKIE_DOMAIN = true  启用该功能
 * 默认禁止
 * 开启前提需要定义MAIN_DOMAIN常量
 */
define("COOKIE_DOMAIN", false); 
if (defined("COOKIE_DOMAIN") && COOKIE_DOMAIN)
{
    if (defined("MAIN_DOMAIN"))
        @ini_set("session.cookie_domain", MAIN_DOMAIN);
}

在这一处中,把宏COOKIE_DOMAIN定义为FALSE,当时想的就是大不了以后就只在WWW.EONCN.COM下使用登陆功能了

2.

**
 * 同一个主域名,不同服务器之间共享session信息
 * USER_SESSION = false 禁用该功能
 * USER_SESSION = true  启用该功能
 * 默认禁止
 * 开启前提需要建立mysql数据表
 */
define("USER_SESSION", false);
if (defined("USER_SESSION") && USER_SESSION)
{
    @ini_set("session.save_handler", "user");
    $session = new Session;
    @session_module_name("user");
    @session_set_save_handler(
        array(&$session, "open"),
        array(&$session, "close"),
        array(&$session, "read"),
        array(&$session, "write"),
        array(&$session, "destroy"),
        array(&$session, "gc"));
}

这一处同上,就一个服务器,也把宏USER_SESSION设为false,我这是根据实际情况来,这样还少建一个表。

3.

//@session_id("demo");
//session_save_path("/web/www/dbst.com.cn/tmp");
session_start();

这一处该注释掉后,就跟原来的SESSION在一起了,也就能使用原来的在线的所有功能了。

最后才发现,原来SEESION自已真的还没弄明白,就一个路径的问题还瞎折腾许久。。。