This question was migrated from Server Fault because it can be answered on Stack Overflow. Migrated6年前。Learn more
我已经从PECL安装了igbinary 1.1.1,并在php.in I中将其配置为session.serialize_处理程序的序列化程序,以便在phpinfo()中显示它。更改已经过测试-到目前为止一切都很好,但是在live服务器上,我可以看到这样的警告(在本地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行的time-session_start()中,我还可以在访问日志中看到~%80个成功的请求。
第73行:
session_start();

解决办法是什么?
PS我有Nginx 1.2.3,php5 fpm 5.3.10-1ubuntu3.4

最佳答案

根据我粗略的谷歌考试,我建议如下。
我为igbinary_unserialize_header: unsupported version找到的结果中有一半说升级到存储库中的最新版本是有效的,这使我相信这是一个未经确认的错误。
另一半标识了未序列化的数据,这些数据不是最初由igbinary序列化的,就是已损坏的。不被igbinary最初序列化在这里听起来似乎是合理的,因为您在测试中没有遇到这个问题,但是您正在生产中。您是否可能试图取消用户在切换到igbinary之前启动的会话的序列化?
我对下一个调试步骤的建议是在某处添加一些错误处理,以便将导致此错误的序列化字符串写入某处的文件。然后,你可以自己测试不序列化,找出问题所在。

关于linux - session.serialize_handler作为igbinary导致“igbinary_unserialize_header:不支持的版本”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14077625/

10-13 08:42
查看更多