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


