You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Codeigniter 3.1.6 AWS服务器上传Zip文件报ERR_CONNECTION_ABORTED错误

解决CodeIgniter 3.1.6在AWS服务器上传Zip/RAR文件时出现ERR_CONNECTION_ABORTED的问题

我之前碰到过几乎一模一样的场景——本地测试完全正常,一部署到AWS就卡壳在大压缩包上传上,大概率是服务器层面的限制或者CI配置的细节没匹配上,给你几个针对性的排查和解决方向:

1. 先检查AWS服务器的PHP核心配置限制

AWS的EC2或者弹性Beanstalk默认的PHP上传相关参数宽松度通常比本地环境低,必须调整以下几个关键参数:

  • upload_max_filesize: 要大于等于你CI配置里的max_size(注意CI的max_size单位是KB,你设的5000000KB≈4.76GB,所以PHP这个参数至少要设为5G)
  • post_max_size: 这个值必须比upload_max_filesize大,建议设为6G,因为POST请求还包含表单其他数据
  • max_execution_time: 大文件上传需要更长时间,默认30秒肯定不够,建议设为300(5分钟)
  • max_input_time: 同样调整为300以上

修改方式:

如果是EC2+Apache环境,找到php.ini文件(路径通常是/etc/php/7.x/apache2/php.ini,根据你的PHP版本调整),修改后重启Apache:

sudo service apache2 restart

如果是弹性Beanstalk,可以通过.ebextensions配置文件批量设置,创建.ebextensions/php-settings.config文件:

files:
  "/etc/php.d/99-custom.ini":
    mode: "000644"
    owner: root
    group: root
    content: |
      upload_max_filesize = 5G
      post_max_size = 6G
      max_execution_time = 300
      max_input_time = 300

2. 优化CI上传配置的冗余项

你的配置里max_width和max_height是针对图片文件的校验规则,对Zip/RAR完全无效,建议去掉避免不必要的校验逻辑干扰:

$config['allowed_types'] = 'zip|rar';
$config['max_size'] = '5000000'; // 注意单位是KB,若不是必须这么大,可先改成102400(100MB)测试是否能上传成功
// 移除max_width和max_height配置
$this->load->library('upload', $config);

3. 检查AWS负载均衡或Nginx的超时限制

如果你的服务器前面挂了ELB(弹性负载均衡)或者用Nginx做反向代理,这些服务也会有超时限制:

  • ELB默认空闲超时是60秒,大文件上传肯定不够,需要在ELB控制台把空闲超时调整为300秒以上
  • 如果是Nginx,需要修改client_max_body_size(设为6G左右),同时调整proxy_connect_timeout、proxy_send_timeout、proxy_read_timeout都为300秒,修改后重启Nginx:
sudo service nginx restart

4. 补充验证MIME类型配置

你修改的mimes.php配置基本没问题,可以再补充几个常见的Zip MIME类型,确保覆盖所有识别场景:

'zip' => array('application/x-zip', 'application/zip', 'application/x-zip-compressed', 'application/s-compressed', 'multipart/x-zip','application/octet-stream', 'application/vnd.ms-office', 'application/x-compressed')

另外,上传时可以临时打印服务器识别的文件MIME类型,方便排查匹配问题:

// 替换成你的文件上传字段名
echo $_FILES['file_field_name']['type'];

5. 检查服务器磁盘空间

AWS服务器磁盘空间不足也会导致上传失败,用命令快速检查:

df -h

如果空间不足,及时扩容或者清理日志、无用文件即可。

按上面的步骤逐一排查,应该能解决你的问题。

内容的提问来源于stack exchange,提问作者Alisa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 03:49:39