在linux中增加了fastcgi+php环境,结果在文件上传时如果文件小于100KB是可以上传,但大了点就提示mod_fcgid: HTTP request length 132296 (so far) exceeds MaxRequestLen (131072)错误了,意思是fastcgi限制了文件上传大小而你要上传的文件比maxrequestlen还要大啊,所以不能上传想上传就得修改一下配置了.
最近在项目中中上传图片时,大约有300多K,结果报了个服务器错误,以前从未遇到过,错误的内容如下:
mod_fcgid: www.phpfensi.com HTTP request length 132296 (so far) exceeds MaxRequestLen (131072)
查了下资料,发现fastcgi默认的请求大小为131072,于是在apache配置中添加了MaxRequestLen 配置就好了,如果你只需要修改单个虚拟主机的MaxRequestLen,原来是fastcgi模式下的设置问题,需要在配置文件.htaccess或者直接在apache的配置文件http.conf 中指明,代码如下:
- <IfModule mod_fcgid.c>
- AddHandler fcgid-script .fcgi
- FcgidConnectTimeout 20
- # to get around upload errors when uploading images increase the MaxRequestLen size to 15MB
- FcgidMaxRequestLen 15728640
- </IfModule>
如果你是php+apache windows环境下的话我们如下配置即可.
在php.ini中找到:upload_max_filesize,及其他post_max_size、max_input_time、memory_limit、 max_execution_time配置,把上传大小修改之后重启apache 即可解决. |