2013-07-15 57 views
0

買了YShout並且已經在我的網絡服務器上運行了一段時間了。支持不會在很長時間內回覆任何電子郵件。我不斷收到殺死聊天框的反序列化錯誤。YShout 5:函數反序列化錯誤

錯誤:似乎有一個問題:unserialize()在偏移65537的86434字節的錯誤。 file: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:」將設在該字符串。

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創建一個新的日誌文件來使用,並且我們將有一個包含錯誤消息的日誌歷史記錄。

回答

0

我在處理日誌文件時出現了相同的錯誤消息。如果您添加或刪除郵件中的字符,您將最終出現此錯誤。但改變角色不會造成任何麻煩。這意味着YShout將消息長度存儲在日誌文件中。

看這句話:

s:30:"when he's online ask him"; 

「S」的狀態正在使用的30個字符,但你的消息很長僅24個字符。嘗試將其更改爲24,並且應該修復問題。