今天在前端调用PHP的接口时,有报错信息为:
protocol error, got 'o' as reply type byte
另外此错误有几率会重现,并不是必现的。十分疑惑,遂百度一下,发现是redis的错误。

网上说是redis的连接问题,解决方案为:
在redis.conf中
1、将bind参数注释
2、protected-mode由yes改为no

改完后重启redis服务。
暂时未发现问题会复现。

另附参考链接:
1、
github的phpredis项目issue中该问题的提问:https://github.com/phpredis/phpredis/issues/52
此问题中怀疑是phpredis使用的是长连接,某种情况下共用一个socket导致出问题,还有就是不知道是不是fork()的原因,并建议fork时重连redis

2、
另一篇遇到此问题的讨论帖:这个是用Discuss出现的。
https://www.52pojie.cn/forum.php?mod=viewthread&tid=446251&archive=1&extra=page%3D1&page=5
其中有个跟帖回复为:
觉得可能是使用了某个应用,没操作好redis,你是不是用了某个DZ应用?还是说某个很消耗内存的应用在近期使用量剧增了?然后协议乱了取数据的时候超时了。觉得可能是使用了某个应用,没操作好redis,你是不是用了某个DZ应用?还是说某个很消耗内存的应用在近期使用量剧增了?然后协议乱了取数据的时候超时了。
推荐修复方案:
如果找不到其他原因,那就修改一下PHP的配置,把soket超时设置一下
default_socket_timeout
个人觉得是某个山炮的DZ应用对redis没有操作好

phpredis报错信息:protocol error, got 'o' as reply type byte解决方案的更多相关文章

  1. protocol error, got 'n' as reply type byte

    centos6.5上安装redis3.2版本,本地访问redis报错protocol error, got 'n' as reply type byte 解决办法 在redis配置文件redis.co ...

  2. protocol error, got 'n' as reply type byte + redis如何后台启动

    其它机子的PHP访问redis爆“protocol error, got 'n' as reply type byte ”错误 解决办法: 在redis配置文件redis.conf中注释掉bind配置 ...

  3. redis3.2装完后 其它机子访问爆protocol error, got 'n' as reply type byte

    服务器上装了reids3.2版本,配置文件中已将bind的选项注释掉, linux的iptables的redis端口也开放 其它机子的PHP访问redis爆“protocol error, got ' ...

  4. junit的Test不能使用,报错信息:Test is not an annotation type

    在使用junit的Test做测试时,注解@Test报错”Test is not an annotation type”,发现是因为测试类的类名命名为了Test,所以导致错误. 测试类类名不能直接命名为 ...

  5. TNS-12532: TNS:invalid argument,Oracle的报错信息太让人无语

    TNS-12532: TNS:invalid argument,Oracle的报错信息太让人无语 现象: Tnsping报错: [oracle@unicomGZ01 admin]$ ../../bin ...

  6. PHP安全编程:不要让不相关的人看到报错信息

    没有不会犯错的开发者,PHP的错误报告功 能可以协助你确认和定位这些错误,可以提供的这些错误的详细描述,但如果被恶意攻击者看到,这就不妙了.不能让大众看到报错信息,这一点很重要.做到这一 点很容易,只 ...

  7. PHP安全编程:不要让不相关的人看到报错信息(转)

    没有不会犯错的开发者,PHP的错误报告功能可以协助你确认和定位这些错误,可以提供的这些错误的详细描述,但如果被恶意攻击者看到,这就不妙了.不能让大众看到报错信息,这一点很重要.做到这一点很容易,只要关 ...

  8. JAVA_用_JCO连接_SAP,实现调用SAP_的_RFC_函数(整理)(附一篇看起来比较全面的说明)(JCO报错信息)

    // 获取RFC返回的字段值 11 JCoParameterList exportParam = function.getExportParameterList(); 12 String exPara ...

  9. Eclipse之报错信息及其解决方案

    一.有很多人都喜欢开发js的时候用aptana,因此在eclipse中集成aptana插件是必须的,可是,在用link方式在eclipse中安装好aptana后,启动时会报如下错误 An intern ...

随机推荐

  1. MySQL点滴记录

    1.查询所用引擎 show engines;

  2. C#=> 栈模仿堆的操作

    //原理,利用两个栈,互相作用,来模仿堆的效果,先进先出.. using System; using System.Collections.Generic; using System.Linq; us ...

  3. [暑假集训Day4T2]卡拉赞之夜

    抹茶学长给的标程可以被卡到O(N2M2)??? 考虑二分答案+暴力check+离散化+卡常数 首先进行离散化,其实判重的话会更快,但是由于矩阵元素大小太大了,hash判重MLE,所以我就直接记录了NM ...

  4. 01 spring循环依赖

    作者:Mythsman原文:https://blog.mythsman.com/post/5d838c7c2db8a452e9b7082c/转载自:猿天地原文来自:https://mp.weixin. ...

  5. jsp:useBean的属性class值一直报错的问题

    先附上代码: <%@ page language="java" import="java.util.*" pageEncoding="UTF-8 ...

  6. Python之获取文件夹中文件列表以及glob与fnmatch模块的使用

    获取文件夹中的文件列表 print(os.listdir("../secondPackage")) # ['__init__.py', 'secondCookBook.py', ' ...

  7. Java源码之ArrayList分析

    一.ArrayList简介 ArrayList底层的数据结构是数组,数组元素类型为Object类型,即可以存放所有类型数据. 与Java中的数组相比,它的容量能动态增长.当创建一个数组的时候,就必须确 ...

  8. jsp常用代码

    1.头部 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8&q ...

  9. centos 7 命令界面与GUI界面切换

    一.需要重启生效 1. 命令模式     systemctl set-default multi-user.target 2. 图形模式     systemctl set-default graph ...

  10. 08.Linux系统启动root密码忘记及文件系统故障问题

    问题:root用户密码忘记了,在重置root密码时,出现文件系统故障,没有root密码进不去,怎么办? Error:UNEXPECTED INCONSISTENCY;RUN fsck MANUALIY ...