平成30/ 2018-10-21 05:33
PHP Notice:  unserialize(): Error at offset 2607 of 3796 bytes

serial の s:40: の部分が文字数を指していて、この文字数とデータの文字数の食い違いがあると、エラーがでるらしい。
環境によっては、serial の生成物が異なるのだと思う。

対応としては、文字数を調整すればいいことになる。
以下の感じ。

$tmp = serialize('hogehoge');
$tmp = preg_replace('!s:(\d+):"(.*?)";!e', "'s:'.strlen('$2').':\"$2\";'", $tmp);
print_r(unserialize($tmp));



Thanks.
unserialize() [function.unserialize]: Error at offset
http://stackoverflow.com/questions/10152904/unserialize-function-unserialize-error-at-offset