缓存文件读取异常

页面调起约 6~7 个ajax请求,PDOConnection 中有用到文件缓存。应该是文件缓存写入文件时 file_put_contents($filename, $data); 没加所导致的。
现在也收到了其他人的同样的错误反馈,但是他使用的是redis驱动,还在跟踪中
我使用倒是文件驱动,file_get_contents 会返回空字符串,我试着给 file_put_contents 添加 LOCK_EX 后问题还是存在。
这个问题是出现在并发的时候,缓存文件读写频繁没有加锁,导致读取数据异常,感谢隔壁某大神帮忙解决问题
做一个 小项目使用文件缓存验证token和续期频繁读写遇到了这个问题,解决如下,在driver 的file里面get方法的 $content = @file_get_contents($filename);改成 $content = false; $file = @fopen($filename,'r+'); if ($file && flock($file,LOCK_EX)){ $content = ''; while ($s = fgets($file)){ $content.= $s; } flock($file,LOCK_UN); fclose($file); }