Node.js和&之间的不同PHPSESSID。 PHP

时间:2013-02-21 13:48:07

标签: wordpress node.js redis

我正在Node.js中构建一个聊天应用程序,只有当用户通过我的Wordpress博客登录时才能访问该应用程序。我的博客在端口80上运行,这是3000上的聊天应用程序。

我跟踪this guide在节点和PHP之间共享会话。我可以将数据存储到Redis中,但Node中的PHPSESSID与Wordpress不匹配,为什么?

修改

PHP - functions.php

function init_session() {
  require('redisSessionHandler.php');
  session_start();
  echo session_id();
}
add_action('init', 'init_session', 1);

这将打印出以下会话ID: pmlmvsst770hj2qsjjm9gt6ja4

节点 - index.js

var app = require("http").createServer(handler),
    fs = require("fs"),
    redis = require("redis"),
    co = require("./cookie.js");

app.listen(7070);

function handler(req, res){
    fs.readFile(__dirname + "/index.html", function(err, data){
        if(err){
            res.writeHead(500);
            return res.end("Error loading index.html");
        } else {
            res.writeHead(200);
            res.end(data);
        }
    });

    var cookieManager = new co.cookie(req.headers.cookie),
        clientSession = new redis.createClient();

    console.log(cookieManager.get("PHPSESSID"));

    clientSession.get("sessions/"+cookieManager.get("PHPSESSID"), function(error, result){
      console.log(result);
    });
}

这将打印出以下会话ID: cv4dsufrkjk29njbfcht0rq015

这是cookie.js的链接:https://gist.github.com/nickreffitt/5005071

0 个答案:

没有答案