发现访客日志缓存失效,定位到写入 redis 时数据经 json_encode 变成了空字符。调用 json_last_error_msg() 打印出报错信息为:"Malformed UTF-8 characters, possibly incorrectly encoded"。
json_last_error_msg()
解决办法是增加参数 JSON_INVALID_UTF8_IGNORE,过滤掉乱码字符:
json_encode($value, JSON_INVALID_UTF8_IGNORE);