我正在处理文件上传脚本,而且我完全无法上传任何内容。
尝试上传文件时,收到以下错误代码:
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设置直接添加到上传脚本中,只回显上传脚本顶部的任何内容。我现在已经没有关于如何排除故障的想法了。
答案 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>