今天遇到一个很奇怪的题,讯息如下
Notice: unserialize(): Error at offset 76 of 82 bytes
发生的情况是在为一个文件档serialize()之後存档,接著再从档案中读取出来,在读取时就发生了这个问题,而且是只发生在新档案内容比旧档内容多的时侯。
一开始以为是 flock 的问题,後来发现有没有用 flock 都一样,但是用 Ajax 第二次作读取的动作就正常,也就是说,在同一支程序里,写完档案後再将同一个档案读出来,在程序结束以前都会是原先档案的内容长度,但是内容却是新的档案内容,所以才会出现明明定义有 50 个字,实际上字串只有 40 个字,所以在串列记录里的长度栏( 76 的位)就会报错棉,而 82 是旧档的长度!
推论是 PHP 本身的 Bug ,同一程序同档案写入读出,档案的长度资讯出了问题,但不确定,有请各方高手赐教,
- 关键字 : 问题, 个字, flock, 长度资讯出, 长度栏, 长度, 遇到一个, 这个问题, 讯息如下, 第二, 程序里, 档案内容, 档案, 本身, 时侯, 旧档内容多, 旧档, 新档案内容, 推论, 情况
0 0
2009-10-23T18:59:37+0000