背景:

正式服的四台服务器中有一台是兼顾后台使用(后台的配置会通过定时任务写入memcache),出于安全考虑已把后台放到单独的服务器。

问题:

由于后台的单独服务器php安装了igbinary扩展,而正式服的四台服务器并没有,导致了后台服务器定时任务写入memcache后,正式服读取时反序列化失败。

科普:

PHP Serializer 從最早期的資料格式,一直用到現在,有時候會出一些問題(encode / decode 失敗等等的),所以現在很常使用 json_encode / json_decode 來處理。 現在由 igbinary 來解決這個問題,而且速度比 serailizer 和 json 快很多。转载自( https://blog.longwin.com.tw/2017/10/php-igbinary-replace-serializer-2017/

解决:

办法一:把后台服务器php的igbinary扩展去掉

办法二:在原来的正式服后台重新写入到memcache

结论:

必须保证正式环境的软件参数和版本号一致,否则后果可能很严重。

发表评论

电子邮件地址不会被公开。 必填项已用*标注