您的位置:首页 > 编程语言 > PHP开发

记一次PHP7+opcache+zmq出现SIGSEGV 问题的查找(一次不成功的bug查找)

2016-07-07 19:23 591 查看
Title: 记一次PHP7+opcache+zmq出现SEGSEGV问题的查找(一次不成功的bug查找)

bug来历自述:
线上代码PHP环境是5.2,为了提升性能(逼格),于是升级为PHP7并使用docker部署,为了方便起见使用yum安装(懒惰),代码经测试后准备部署上线,这个时候问题来了。

在配置FPM后压测,发现当FPM子进程重启时,总会有502错误(fpm日志)。

ba la ba la开始找问题:
1、首先确认是不是FPM的配置问题,找了一圈,没有发现问题
2、从PHP7本身开始,想着PHP7我们都使用了什么新东东,很明显opcache就被这么抓到了。
在配置里面关闭opcache,测试没有再出现502,说明opcache有问题

那到底opcache有问题吗?是不是自己的代码里面有问题呢?
于是乎,开始opcache,只简单的打印一些东东
噢、噢、噢、噢.....
竟然没有发现502了,好吧看来代码里面还是有别的问题
就这么又看到了ZMQ,最终发现当opcahce+ZMQ时会有502...................................

最终懒人的解决方案:
1、继续使用opcache
2、将使用到zmq扩展的文件加入opcache的黑名单里
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: