POST文件上传连接重置

时间:2013-09-26 10:21:59

标签: php forms file-upload upload multipartform-data

我正在处理文件上传脚本,而且我完全无法上传任何内容。

尝试上传文件时,收到以下错误代码:

Error 101 (net::ERR_CONNECTION_RESET): The connection was reset.

我尝试过多个浏览器,我甚至从网上抓取了几个超级基本上传脚本并进行了测试,看看它们是否能正常工作,我仍然收到同样的错误。

我已经检查过php.ini,帖子大小,内存限制,输入时间限制和执行时间限制都设置为默认值。

我尝试上传多个不同的文件,从几百个字节到几个MB,我仍然收到相同的消息。

我想知道是否可能是临时上传目录的某种权限问题?

我的php.ini文件上传部分如下:

;;;;;;;;;;;;;;;;
; File Uploads ;
;;;;;;;;;;;;;;;;

; Whether to allow HTTP file uploads.
; http://php.net/file-uploads
file_uploads = On

; Temporary directory for HTTP uploaded files (will use system default if not
; specified).
; http://php.net/upload-tmp-dir
;upload_tmp_dir =

; Maximum allowed size for uploaded files.
; http://php.net/upload-max-filesize
upload_max_filesize = 2M

; Maximum number of files that can be uploaded via a single request
max_file_uploads = 20

我之前已将文件上传到此服务器,大约2周前没有任何问题,据我所知,此后没有配置更改。

我还尝试启用错误报告,将ini设置直接添加到上传脚本中,只回显上传脚本顶部的任何内容。我现在已经没有关于如何排除故障的想法了。

2 个答案:

答案 0 :(得分:1)

通过在我们的网络服务器上重启Apache来解决问题。

sudo service apache2 restart

Apache 2.2.22版(Ubuntu)

Ubuntu 13.04版

答案 1 :(得分:1)

我也对这个问题大为不满。答案就在Apache日志中:

  

[Sun May 08 09:31:02 2016] [warn] [client 127.0.0.1] mod_fcgid:HTTP请求长度137056(到目前为止)超过MaxRequestLen(131072),referer:http://mysamplesite.com

因为我已将PHP配置为Fast Cgid模块。解决方案是在httpd.conf中修复请求长度的值:

<IfModule mod_fcgid.c>
    MaxRequestLen         10000000
</IfModule>

etvoilà...

注意:根据您的Apache版本,您可能需要语法

<IfModule mod_fcgid.c>
    FcgidMaxRequestLen         10000000
</IfModule>