WampServer上传文件图片 500 Internal Server Error 错误

小桔子最近在 win2003 apache+php+fastcgi+mysql 开发环境下,Wampserver上传文件图片 500 Internal Server Error 错误, 遇到稍大的图片总是会遇到“HTTP error”,但是检查过php.ini发现upload_max_filesize,及其他post_max_size、max_input_time、memory_limit、max_execution_time配置项均没有问题,查看apache的logs 日志记录才显示了问题所在, 错误日志:mod_fcgid: HTTP request length 138296 (so far) exceeds MaxRequestLen (131072)。

原来是fastcgi模式下的设置问题,需要在配置文件.htaccess或者直接在apache的配置文件 httpd.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
MaxRequestLen 15728640
</IfModule>

里面的“MaxRequestLen”就是fastcgi模式下上传文件也就是http接受的最大文件长度。

查找:httpd.conf文件,两个文件都要指明

查找:httpd.conf文件,两个文件都要指明

httpd.conf文件指明后的代码

httpd.conf文件指明后的代码 

原来是fastcgi模式下的设置问题,看上去是因为HTTP刚才的请求长度(138296 )太长,大于现有的131072最大请求长度。看了fcgid的配置文件后,发现并没有配置过MaxRequestLen的参数。看来这个131072的配置是默认的了。于是在fcgid的配置文件里加入这个配置,15728640是15M,因为我的php.ini中设置的最大POST长度是15M,所以把它们设置长一样的:MaxRequestLen 15728640.

You might also like

发表评论

电子邮件地址不会被公开。 必填项已用*标注