Laravel 6.2大文件上传报The connection was reset错误的解决方法
解决Laravel 6.2大文件上传时Chrome报「The connection was reset」问题
你已经调整了PHP核心的上传参数,但大文件上传仍失败,这种情况通常是服务器端或框架层面还有其他未覆盖的限制,我来帮你一步步排查解决:
1. 检查PHP的其他关键配置
除了post_max_size和upload_max_filesize,这几个参数也会直接影响大文件上传:
max_execution_time:脚本执行的最大时长,700MB的文件上传需要足够时间,建议设为300秒以上max_input_time:服务器接收请求输入的最长时间,同样要调大到300秒左右memory_limit:脚本可用内存上限,处理700MB文件需要足够内存支撑,建议设为2GB以上
修改php.ini后,记得重启PHP-FPM(或Apache)生效,你可以通过php -i | grep <参数名>命令验证配置是否生效。
2. 调整Web服务器的上传限制
如果你用Nginx:
修改nginx.conf或对应站点的配置文件,添加/调整:
client_max_body_size 2G;
修改完成后重启Nginx服务。
如果你用Apache:
在httpd.conf或项目根目录的.htaccess文件中添加:
LimitRequestBody 2147483648
(2147483648是2GB对应的字节数)
3. 检查Laravel自身的上传限制
- 确保表单验证规则里的文件大小限制足够大,比如:
$request->validate([ 'video' => 'required|file|max:734003200', // 700MB对应的字节数 ]);
- 可以在上传控制器的方法里临时调整脚本超时,避免上传过程中被终止:
// 在处理上传的方法开头添加 ini_set('max_execution_time', 300);
4. 排除浏览器层面的临时问题
虽然概率不高,但Chrome对长时请求可能有隐性限制,你可以换Firefox等其他浏览器测试,同时确保浏览器没有启用代理/VPN,避免连接被中途中断。
5. 检查服务器网络与安全设置
- 查看服务器防火墙或安全组规则,确认没有拦截长时间连接的配置
- 检查服务器的
keepalive相关设置,避免长连接被过早断开
最后,所有配置调整完成后,务必重启所有相关服务(PHP-FPM、Nginx/Apache),再测试大文件上传。
内容的提问来源于stack exchange,提问作者Tunjay
相关产品推荐
相关产品推荐

