YShout を購入し、しばらくの間、私の Web サーバーで実行しています。サポートは長い間メールに応答していません。チャット ボックスを強制終了するシリアル化解除エラーが発生し続けます。
エラー: 問題があるようです: 86434 バイトのオフセット 65537 での unserialize() エラー。ファイル: 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 がどのように機能するかはよくわかりませんが、このエラーが 1 日に 1 回以上発生しています。ログファイルを削除する必要があり、YShout は新しいログを最初から作成し、すべて問題ありません。しかし、問題を引き起こしているログを削除するまで、誰もチャット ウィンドウを使用できません。
理想的な解決策は、これを修正して何が起こっているのかを理解することです。二次的な解決策は、エラーの原因となっているログ ファイルの名前を変更することです。これにより、YShout は使用する新しいログ ファイルを作成し、エラー メッセージを含むログの履歴が作成されます。