立即注册【分享大片】 登录
BluRayCD Forum 返回首页

kmvodys的个人空间 https://forum.bluraycd.com/?3 [收藏] [复制] [RSS]

日志

DiscuzX上传文件出现 Upload Error: 500 或 Server (IO) Error 的解决方法 ...

已有 607 次阅读2013-4-4 12:38 |个人分类:Apache|系统分类:服务器| fcgid, 上传文件, Error, fastcgi

今天在新装的VPS上安装了DiscuzX 2.5版,测试下来一切OK。

但是后面有论坛会员反应上传不了文件,会出现500错误。然而在已经发出的帖子里面,却已经有用户成功发出了图片附件的。于是我就询问了下对方文件大小是否超过论坛限制,以及图片格式是否正确,得到的答案都是肯定的。

于是我自己也找了个类似大小的同一个格式的图片做了测试,上传过程一切顺利,但是到了最后的确显示出 Upload Error: 500,上传失败了。

这是怎么回事呢?PHP的附件配置是2M没错,论坛后台设置的附件大小也是2M,各种大小限制都没问题。检查格式限制也是OK的。无奈之下只好Google之强大的Google呀,结果还真有很多站长遇到这种情况。

仔细看了下,这种情况只出现在运行在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


路过

鸡蛋

鲜花

握手

雷人

评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 立即注册【分享大片】

小黑屋|手机版|Archiver|4K蓝光论坛

GMT+8, 2024-4-24 18:21

Copyright © 2001-2021, Gadaddy Cloud.

返回顶部