今天一个同事问了我一个关于文件上传的问题。配置环境是nginx + php + fpm。一个测试接口,一个正式接口,测试接口请求正式接口,企图上传文件。
问题特征:
1. 上传接口总是超时(504)。
2.但是最后的操作都是成功的(文件成功写入)
我看了之后发现一个问题,超时时间在chrome上显示为整1分钟。这让我产生了警惕。
看了代码后发现这个同事写的代码是socket去发起post请求,并且取出soket里的内容写入文件。
那么如果客户端并没有中断连接是不是就意味着eof标志符是收不到的呢?于是就在读取的文件的地方输出了时间,果然。就卡在这里。
现在同事已经去改了,博文的后续会跟进