我们有一个基于微服务的架构,其中所有会话需求都由使用内容JSON的单独休息服务处理。
我创建了一个SessionService
类,使用以下重写方法扩展CHttpSession
: -
open()
getUseCustomStorage
regenerateID
readSession
writeSession
destroySession
这在大多数情况下都有效。但在某些情况下,我看到writeSession
中出现了一些序列化日期,如下所示: -
YII_CSRF_TOKEN|s:40:"a408a11e7d684ebf6d70208b";46db49e22ae1e33d11cdd0100a646632__returnUrl|s:17:"/customer/account";
似乎Yii在写入会话时正在进行一些序列化。
从
调用writeSession
SessionService->writeSession
session_write_close
CHttpSession->close()
由于会话服务只能理解JSON,因此此调用失败。有人可以建议我如何使用JSON代替上面的序列化?
我在Yii 1.0和Php 5.3上。这是非常遗留的代码库。所以不建议我升级Yii或Php。