Redis用PHP链接时报错

ThinkPHP 链接Redis时报错:

Fatal error: Uncaught RedisException: protocol error, got 'J' as reply type byte in /data/../../../thinkphp/library/think/cache/driver/Redis.php on line 58

调用 auth 时,直接报错
一执行相应的方法,就报错!

解决方法:

网上的解决办法是:

修改 protected-mode = yes 改为 no

注释: bind = 127.0.0.1

这个好像都没有效果呢!

总结:

  1. 检查redis是否开放外网,即: bind 的地址
  2. 检查程序和RedisServer监听的地址与端口是否一样
  3. 检查账户密码是否正确
  4. 关于 protected-mode 这个没有必要修改

吐槽:

这报错信息也太诡异了!我的问题是链接的端口不对,然后修改为正确的端口就可以链接!

可程序的报错却是....上面的,无语啊!