我从PECL安装了igbinary1.1.1,将其配置为session.serialize_handler在php.ini中的序列化器,以便在phpinfo()中显示。这个更改已经过测试--到目前为止一切都很好,但是在活动服务器上,我可以看到类似这样的警告(本机php序列化程序没有任何问题):
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行:
session_start();解决办法是什么?
PS I有Nginx 1.2.3,php5-fpm 5.3.10-1 ubuntu3.4
发布于 2012-12-28 17:07:51
基于我做的粗略的谷歌检查,我建议如下。
我为igbinary_unserialize_header: unsupported version找到的一半结果表明,升级到存储库中的最新版本是有效的,这使我相信这是一个身份不明的错误。
另一半标识未序列化的数据,这些数据不是最初由ig二进制序列化的,就是损坏的。在这里,没有最初被ig二进制序列化似乎是合理的,因为您没有在测试中运行这个问题,但是您正在生产中。是否有可能您正在尝试取消您的用户在切换到ig二进制之前启动的会话?
我对下一个调试步骤的建议是在某个地方添加一些错误处理,以便将导致此错误的序列化字符串写入某个文件。然后,您可以自己测试不序列化它们,以找出问题所在。
https://stackoverflow.com/questions/14077625
复制相似问题