nodejs不能读取phpsessid并返回未定义的错误

我只是喜欢这篇文章阅读nodejs中的会话,并从memcached读取会话数据,但我有一些问题,从phpsessid.when读取数据,我节点这个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); } }); } 

并访问此脚本控制台日志显示此错误:undefined message.i想要访问会话数据,并需要在此帮助。

提前致谢

没有必要把这样一个简单的系统连接。 顺便说一句,这个cookie经理正在许多公司生产没有任何bug报告。 所以问题不是来自那个部分。

尝试检查thoose:

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

2)检查memcache运行,得到一切正常(不被防火墙locking或其他)。 为此,在PHP或Node.js端(select一个):将一个var放入memcache然后检索它并检查var内容是好的…

3)检查PHP Side上的memcacheSessionHandler是否正确使用(在你需要运行的所有东西之前)

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

这基本上是你以前问过的同样的问题,试试这个:

 client.get("sessions/"+cookieManager.get("PHPSESSID"), function(error, result) { if (error) { console.log(error); } else { session_management(JSON.parse(result)); } }); function session_management(session) { console.log(session); } 

最简单的方法是使用connect模块及其parsing器。