我正在尝试在主PHP应用程序和node.js之间共享会话信息
我们目前使用数据库后端进行会话存储,因为我们有几个可以处理请求的Web服务器。
是否有人知道从node.js访问会话数据的任何解决方案?我唯一能看到的就是使用redis或memcache,但是我们无法改变存储会话数据的方法。
答案 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。但是,我有偏见。