记一次框架升级遇到的坑
文章目录
【注意】最后更新于 November 13, 2020,文中内容可能已过时,请谨慎使用。
背景
本周同事再对应现全业务开发框架 Laravel 做升级服务,由 5.3
升级至 5.8
或 6.8
,经过差不多 2天的时间处理,也已再测试环境完成了自测,但就前天下午 3 点左右完成上线,依然还是暴露出了几个问题。
问题
- Cookie 取消了自动序列化与反序列化机制
导致结果:写入到数据库的字段为,序列化的值,如:s:13:"google,google";
,又因为的新版本的框架代码写入的 cookie,不再自动序列化,所以追加后的 cookie 是:s:13:"google,google";,google,google,google,google,google,google,
,这就导致处理此问题复杂化了。
- Event 事件,使用 dispatch 替换了 fire 方法,涉及 Laravel passport 扩展,导致 App 用户登录不了。
解决
问题 1
- 全局处理:追踪用户行为的 Cookie,不再连续记录多次的 Cookie,采用最后一次的值覆盖旧 Cookie
- 写入数据时:如果含有旧未反序列化的 Cookie, 通过修改器自动完成反序列化
- 清洗现有数据库中的脏数据为正确数据
问题 2
升级 Laravel passport 扩展包为对应的 Laravel 框架所支持的版本。
文章作者 BING
上次更新 2020-11-13