recv() failed (104: Connection reset by peer) while reading response header from upstream
2017年12月1日10:18:34
情景描述: 浏览器执行了一会儿, 报500错误
运行环境: nginx + php-fpm
nginx日志: recv() failed (104: Connection reset by peer) while reading response header from upstream
fpm日志: fpm_request_check_timed_out(), line 146: child 2518, script '***/index.php' (pool www5) executing too slow (2.019546 sec), logging
查看 php-fpm 配置文件后, 发现脚本执行超时时间太短了, 修改为60s, 然后重启php,nginx环境, 就没问题了
像这样出现执行了一会儿又报错的, 可能的情况有
1. 域名解析有问题
2. 超时(脚本数据库操作太多, 时间太长)
3. 接口请求相互依赖导致的死等
有的会报502,并很快返回
调试到curl时出错, 版本 5.2.17,
本地环境出错(命令行执行: Segmentation fault ; 浏览器执行相同代码直接502, 但是找不到日志),
代码上传到测试环境(另一台PHP5.2的机器) 就不会报错了
PHP7 执行相同的代码也没有问题