LNMP 工程在上传解析大文件时遇到502错误
阅读 (2350) 2018-05-11 15:55:51
针对LNMP 工程在上传解析大文件时遇到502错误的两种情况进行设置
有两种情况
1.文件很大,内容很多,但只需要上传到服务器
这种情况只需要进行超时设置
修改PHP的配置文件php.ini,可以把值改大点
max_execution_time=300 #超时时间默认300
max_input_time = 300 #上传时间默认300
但如果是共享主机,无法修改配置文件
可以直接在PHP接收请求代码前加入如下代码,0不没置超时时间,或设置一个比300更大一些的正整数
set_time_limit(0);
2.文件不是很大,但后台PHP处理需要很长时间,如6~7M的CSV文件中有50万行数据,需要保存到数据库,在不使用LOAD DATA INFILE的 原生DB insert操作时,会需要很长的时间,但就算设置了 set_time_limit(0); 但还是会出现502的情况
这种情况下,考虑nginx超时时间设置,
client_header_timeout 150; #未接收到请求头的超时间
client_body_timeout 150; #未接收到请求内容的超时间
并设置 php-fpm.conf
request_terminate_timeout = 60 #可以把这个值改大一点,默认60s
暂时只记录到这里,按实际情况处理
更新于:2018-05-11 15:55:51