首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >session.serialize_handler作为索引二进制文件导致"igbinary_unserialize_header:不支持的版本“

session.serialize_handler作为索引二进制文件导致"igbinary_unserialize_header:不支持的版本“
EN

Stack Overflow用户
提问于 2012-12-27 10:06:53
回答 1查看 2.7K关注 0票数 0

我从PECL安装了igbinary1.1.1,将其配置为session.serialize_handler在php.ini中的序列化器,以便在phpinfo()中显示。这个更改已经过测试--到目前为止一切都很好,但是在活动服务器上,我可以看到类似这样的警告(本机php序列化程序没有任何问题):

代码语言:javascript
复制
PHP Warning: igbinary_unserialize_header: unsupported version: 1346458177, should be 1 or 2 in dispatcher.php on line 73
PHP Warning: session_start(): Trying to destroy uninitialized session in dispatcher.php on line 73
PHP Warning: session_start(): Failed to decode session object. Session has been destroyed in dispatcher.php on line 73

这些消息并不总是出现--在测试期间,来自第73行的session_start()为我工作,我还可以在访问日志中看到~ %80 %的成功请求。

第73行:

代码语言:javascript
复制
session_start();

解决办法是什么?

PS I有Nginx 1.2.3,php5-fpm 5.3.10-1 ubuntu3.4

EN

回答 1

Stack Overflow用户

发布于 2012-12-28 17:07:51

基于我做的粗略的谷歌检查,我建议如下。

我为igbinary_unserialize_header: unsupported version找到的一半结果表明,升级到存储库中的最新版本是有效的,这使我相信这是一个身份不明的错误。

另一半标识未序列化的数据,这些数据不是最初由ig二进制序列化的,就是损坏的。在这里,没有最初被ig二进制序列化似乎是合理的,因为您没有在测试中运行这个问题,但是您正在生产中。是否有可能您正在尝试取消您的用户在切换到ig二进制之前启动的会话?

我对下一个调试步骤的建议是在某个地方添加一些错误处理,以便将导致此错误的序列化字符串写入某个文件。然后,您可以自己测试不序列化它们,以找出问题所在。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14077625

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档