php - nodejs无法读取phpsessid并返回错误未定义

标签 php node.js session memcached

我只是喜欢 this article在nodejs中读取 session 并从memcached读取 session 数据。但是我在从phpsessid读回数据时遇到了一些问题。当我 Node 这个index.js脚本时

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

app.listen(7070);

//On client incomming, we send back index.html
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);
        }
    });


    //Using php session to retrieve important data from user
    var cookieManager = new co.cookie(req.headers.cookie);

    var client = new memcache.Client(11211, "localhost");
    client.connect();

    client.get("sessions/"+cookieManager.get("PHPSESSID"), function(error, result){
        console.log("error : "+error);
        if(typeof(error)==="undefined"){
            var session = JSON.parse(result);
        }
    });
}

并访问此脚本控制台日志显示此错误:未定义消息。我想要访问 session 数据并需要这方面的帮助。

提前致谢

最佳答案

无需为如此简单的系统建立连接。顺便说一句,这个 cookie 管理器已在许多公司生产,没有报告任何错误。所以问题不是出在那个部分。

尝试检查一下:

1) 检查 php.ini 文件以查找 session 的 cookie 名称(默认为 PHPSESSID,但可以更改)

2)检查内存缓存是否正在运行,一切正常(没有被防火墙或其他东西锁定)。为此,在 php 或 node.js 方面(选择一个):将 var 放入 memcache,然后检索它并检查 var 内容是否正确...

3) 检查 PHP 端的 memcacheSessionHandler 是否正确使用(在运行所需的一切之前)

3)如果你仍然有问题,在cookie管理器上你会发现一个列表功能:打印它的内容来检查哪个cookie Node.JS接收。

关于php - nodejs无法读取phpsessid并返回错误未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14283913/

相关文章:

php - 如何在xampp中打开htdocs/project1文件夹中名为index.php的文件?

javascript - 从 JSON 比较中排除丢失的键

javascript - 每秒定期调用node.js函数

asp.net - 由线程更新的 Asp .net session 变量未反射(reflect)在 Session 中

未设置 PHP session 变量

php - 更新时插入。复合键

php - azure应用程序url重写中的.htaccess文件

php - fatal error : Class 'Swift_smtpTransport' not found in

javascript - 在 mongoDB Node.js 中搜索日期并忽略时间和日期

java - 使用简单 Facebook API 记录时出现异常(没有打开 session 时请求 session )