我有一个必须从CONSOLE请求更改会话的要求。现在,控制台无法访问会话。我确实已经弄清楚了这一切。 我不能像在会话中那样使用session_decode()。
但是我在会话中反序列化“ SERIALILZED DATA”时遇到问题。
我知道会话序列化基于php.ini值。
;用于序列化数据php的处理程序是PHP的标准序列化程序。
session.serialize_handler = php
我想知道可以在php_ini中为session.serialize_handler设置的可能值,这将允许我在控制台中反序列化数据。
现在我遇到一个异常。 unserialize():偏移0为8806字节时出错。
我知道我是否设置了正确的序列化处理程序值,然后在WEB和CONSOLE中使用相同的反序列化器。我可以解决问题。
让我知道克服这种情况的可能解决方案。
答案 0 :(得分:0)
由于无法对序列化的数据进行反序列化,所以我遇到了此问题。因为序列化是通过使用不同参数的不同功能完成的。
因此,我将php_ini更改为使用session.serialize_handler从“ php”更改为“ php_serialize”。
“ php”和“ php_serialize”都是可以根据PHP文档设置的不同选项。
因此更改为php_serialize可以帮助我使用PHP函数unserialize进行反序列化。