Node.js和PHP会话共享

时间:2014-07-16 11:46:26

标签: php node.js session

我正在尝试在主PHP应用程序和node.js之间共享会话信息

我们目前使用数据库后端进行会话存储,因为我们有几个可以处理请求的Web服务器。

是否有人知道从node.js访问会话数据的任何解决方案?我唯一能看到的就是使用redis或memcache,但是我们无法改变存储会话数据的方法。

1 个答案:

答案 0 :(得分:2)

您必须使用通用格式,例如JSON或您自己的发明之一。让我们假设JSON是为了方便。

在PHP方面,您需要register your own session handler

session.name设置为特定于PHP的内容,例如SESSID而不是PHPSESSID。

session.serialize_handler设置为 php_serialize 。在 write()方法中,首先在其上调用unserialize(),然后调用json_encode()并在数据库中设置重新编码的数据,将传入的$ data转换为JSON。 / p>

同样, read()方法应该从数据库中提取会话数据(给定存储在SESSID cookie中的ID的值),在其上调用json_decode(),然后{ {3}}然后返回该字符串。

我可能会建议使用快速可扩展可靠数据库,例如serialize。但是,我有偏见。