买了 YShout 并且已经在我的网络服务器上运行了一段时间了。支持很长时间没有回复任何电子邮件。我不断收到杀死聊天框的反序列化错误。
错误:似乎有一个问题:unserialize() 在 86434 字节的偏移 65537 处出错。文件:filestorage.class.php 第 36 行。
这是第 36 行的函数。
function load() {
if (($contents = $this->read($this->path)) == null)
return $this->resetArray();
return unserialize($contents);///////////line 36
}
这似乎是日志文件中生成错误消息的行,65537 似乎位于字符串中“uia:2:”中的“a”处。
i:251;a:6:{s:8:"nickname";s:7:"TestUser";s:7:"message";s:30:"when he's online ask him";s:9:"timestamp";d:1373857811.6403610706329345703125;s:5:"admin";b:0;s:3:"uia:2:{s:4:"info";a:1:{s:15:"latestTimestamp";i:-1;}s:5:"posts";a:0:{}}ip";s:12:"76.174.54.75";}}
不太确定 YShout 是如何工作的,但我现在每天不止一次收到此错误。我必须删除日志文件,然后 YShout 从头开始创建一个新日志,一切都很好。但是在我删除导致问题的日志之前,没有人可以使用聊天窗口。
理想的解决方案是解决这个问题并弄清楚发生了什么。次要解决方案是重命名导致错误的日志文件。这将导致 YShout 创建一个新的日志文件以供使用,并且我们将拥有包含错误消息的日志的历史记录。