WRITING LOG · 03
技术博客
记录技术实践、问题排查和持续成长,把每一次解决问题的过程留下来。
WORKSPACE
文章阅读
laravel5.5诡异的查询bug
2020-12-14
今天遇到个bug:查询一个mediumtext类型的字段出来的值和数据库里面的不一样。数据库里面看长度是1701349个字节,查询出来的数据长度用strlen函数统计却是1048576个字节,查询结果保存为文件刚好1024KB也就是1M。刚开始以为是php或者nginx配置问题导致返回给前端的数据被截断,于是用file_put_contents直接写到文本日志中,发现也一样。最诡异的是同样的代码在线下是没有问题的,却在线上有问题,这表明问题极有可能在环境或者配置上。
关于前面laravel查询bug的后续解决
2020-12-14
最终定位问题到mysql配置:PDO默认配置里面查询缓存是1M,单个字段查询结果大于1M时需要修改配置。现在解决方案:config/databses.php中mysql配置增加以下代码'options' =>[PDO::MYSQL_ATTR_MAX_BUFFER_SIZE=>16777216] 将限制放开到16M,问题解决!