这种情况只出现在运行在fcgid模式下的PHP里,MaxRequestLen参数设置值过小导致的。但是原来我也装过,没遇到过这种情况啊?而且我也没设置过MaxRequestLen,按道理他会保持默认值才对。
于是抱着不找到问题原因不罢休的,找了相关的参数资料。于是到了Apache官方站的资料一看,原来从Apache 2.3.6开始,这个参数的默认值从之前的1GB(汗一个)调整到了131072字节(128KB)。于是上传128KB以下的文件不会出问题,但是超过这个值就会报500错误了。原来我用的OS一般是Ubuntu Server 10.04 LTS,而这次新装的服务器用了Ubuntu Server 12.04 LTS,看来就是问题所在了,12.04中的Apache版本较新,于是这个参数默认值被改成了128KB导致上传文件失败,并报500错误。
找到原因后,解决办法就简单了。只需要增加这个参数的配置即可。
打开Ubuntu下Apache的fcgid配置文件:
#vim /etc/apache2/mods-enabled/fcgid.conf
在这个文件里增加下面的参数设置即可。我这里设置为10M,比PHP上传最大值8M略大即可。你可以根据自己的需要,调整这个参数的值,注意这个参数的单位是字节。
MaxRequestLen 10240000
保存退出,重启Apache:
#/etc/init.d/apache2 restart
再测试一遍,问题解决。
大家也可以参考此方法:http://www.111cn.net/wy/CMS/45329.htm
时间: 2024-10-22 11:47:23