使用unserialize()对控制台请求中的会话数据进行反序列化吗?

时间:2019-01-17 10:24:03

标签: php session

我有一个必须从CONSOLE请求更改会话的要求。现在,控制台无法访问会话。我确实已经弄清楚了这一切。 我不能像在会话中那样使用session_decode()。

但是我在会话中反序列化“ SERIALILZED DATA”时遇到问题。

我知道会话序列化基于php.ini值。

;用于序列化数据php的处理程序是PHP的标准序列化程序。

session.serialize_handler = php

我想知道可以在php_ini中为session.serialize_handler设置的可能值,这将允许我在控制台中反序列化数据。

现在我遇到一个异常。 unserialize():偏移0为8806字节时出错。

我知道我是否设置了正确的序列化处理程序值,然后在WEB和CONSOLE中使用相同的反序列化器。我可以解决问题。

让我知道克服这种情况的可能解决方案。

1 个答案:

答案 0 :(得分:0)

由于无法对序列化的数据进行反序列化,所以我遇到了此问题。因为序列化是通过使用不同参数的不同功能完成的。

因此,我将php_ini更改为使用session.serialize_handler从“ php”更改为“ php_serialize”。

“ php”和“ php_serialize”都是可以根据PHP文档设置的不同选项。

因此更改为php_serialize可以帮助我使用PHP函数unserialize进行反序列化。