【发布时间】:2011-03-14 16:28:59
【问题描述】:
我最近开始使用 node.js 扩展我的网站,并意识到我需要一个用于我的 PHP 会话的会话处理程序。现在一切都很酷,花花公子,node.js 读取 php 会话并可以使用 php 传播它自己的会话。我正在使用数据库会话,因此会话数据被保存到数据库中的一个字段中。
然而,我发现了一个小问题。我正在尝试将会话数据读入 node.js,这确实是一个很奇怪的字符串。我已经能够将每个会话变量的结构简化为:
'field_name'|'type':'length':'value';
现在在某些字符串上,值字段可能在其他字符串上丢失,长度可能会丢失(当变量为 Null 时)。类型也可以多于b、s、i;它也可以是 N (NULL)。
我最初想了一个巨大的 JS 翻译器,但这似乎是一种非常错误的方式。
这里有没有人尝试过在 JS 中提取 php 会话变量,是否有任何类型的脚本可以提供帮助?也许我可以在 PHP 端使用格式化的东西来让我在 node.js 中的生活更轻松?
编辑:架构看起来像:
{ _id: { id: 'L:\u00c1\u009d\u008e\u00ad\u000e}<\u0002\u0000\u0000' }
, session_id: 'a2clfnjhopv1srs5k5elgbfjv5'
, user_id: 0
, session_data: 'logged|b:0;uid|i:0;server_key|N;AUTH_TIER2|b:0;email|s:0:"";cheese|s:6:"cheese";'
, active: 1
, expires: 1278920567
}
这是用户会话的 mongo db 记录。需要翻译的字段是session_data。粘贴时会出现某种格式错误,因为当我出于某种原因尝试制作它时,stackoverflow 不会将其格式化为代码。
我之前尝试过 JSONfy 该字段,但它丢失了它的类型并且没有读取 Null 条目等,所以我停止了
谢谢,
【问题讨论】:
-
我之前没有使用过 node.js。在将其传递给 node.js 之前,是否可以
json_encode来自 PHP 的未序列化会话数据? -
你能展示一个例子而不是架构吗?缺少东西时的样子?
-
我添加了架构,尽管正如我所说的那样粘贴它时出现了某种错误,并且 stackoverflow 不会将数据格式化为代码:(。galam,正如我在编辑中所说的那样,我确实尝试过JSON,但它似乎破坏了字符串,使得无法检索会话数据:(。也许其中有一些东西,如果我创建一个节点字段并将 json 字符串中的会话数据复制到它......并制作一个 dejsonifier对于该领域....嗯可以工作
-
修复了代码。为了将来参考,您需要将缩进的代码与非缩进的文本至少隔开一个空白行,然后才能正确格式化。
标签: php javascript session node.js