完美解決Apache+PHP上傳文件大小限制的問題
[重要通告]如您遇疑難雜癥,本站支持知識(shí)付費(fèi)業(yè)務(wù),掃右邊二維碼加博主微信,可節(jié)省您寶貴時(shí)間哦!
今天給一程序上傳的時(shí)候,出現(xiàn)500的錯(cuò)誤,看了一下,大致是上傳圖片超過的原始大小,錯(cuò)誤代碼如下:
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, dsafdsa@qq.com and inform them of the time the error occurred, and anything you might have done that may have caused the error.
More information about this error may be available in the server error log.
然后查詢了一下網(wǎng)站內(nèi)部Apache給與的錯(cuò)誤提示;
mod_fcgid: HTTP request length 132480 (so far) exceeds MaxRequestLen (131072), referer:
意思應(yīng)該是請(qǐng)求太長了,但以前從沒見過MaxRequestLen這玩意,到httpd.conf中查找,沒有;又到php.ini中查找,還是沒有。
于是乎去官方查看,說明有這么一句:
Default: FcgidMaxRequestLen 131072
131072正好是128K。
百度找了一下,原因貌似是高版本的apache的默認(rèn)請(qǐng)求數(shù)據(jù)改小了,也有說是fcgi運(yùn)行的原因,
那就來個(gè)解決的方式,方式如下:
在httpd.conf中添加一條
# 修改fgci請(qǐng)求限制
MaxRequestLen?10240000
加上上面的一點(diǎn)代碼即可;
備注:如果只需要修改單個(gè)虛擬主機(jī)的MaxRequestLen,只需要添加到 virtualhost中就行了。如果是全局的,添加到 httpd.conf
延伸閱讀:
php配置項(xiàng)修改
還需要根據(jù)實(shí)際情況來修改php.ini配置文件中的max_execution_time(php頁面執(zhí)行最大時(shí)間)、
max_input_time(php頁面接受數(shù)據(jù)最大時(shí)間)、memory_limit(php頁面占用的最大內(nèi)存)、
upload_max_filesize和post_max_size等5個(gè)參數(shù)。
修改php.ini配置文件
upload_max_filesize = 20M
post_max_size = 30M
memory_limit = 256M
如果文件過大,會(huì)出現(xiàn)時(shí)間問題,必要的話,做如下修改:
max_execution_time = 300
max_input_time = 600
======================以上是windows系統(tǒng)==========================
如果是linux系統(tǒng),那就不同了,下面大致說下;
在httpd.conf,配置FastCGI參數(shù)里增加一項(xiàng):
MaxRequestLen 1024000
重啟Apache即可
關(guān)于liunx系統(tǒng)錯(cuò)誤的延伸閱讀:
<ifmodule mod_fcgid.c=
""
>
??
AddHandler??? fcgid-script .fcgi .php
??
FcgidConnectTimeout 20
??
FcgidIPCDir
/var/lib/apache2/fcgid/sock
??
IdleTimeout 3600
??
ProcessLifeTime 7200
??
MaxProcessCount 1000
??
DefaultMinClassProcessCount 3
??
DefaultMaxClassProcessCount 100
??
IPCConnectTimeout 8
??
IPCCommTimeout 360
??
BusyTimeout 300
??
FcgidWrapper
/usr/bin/php5-cgi
.php
??
MaxRequestLen 15728640
<
/ifmodule
>
問題未解決?付費(fèi)解決問題加Q或微信 2589053300 (即Q號(hào)又微信號(hào))右上方掃一掃可加博主微信
所寫所說,是心之所感,思之所悟,行之所得;文當(dāng)無敷衍,落筆求簡潔。 以所舍,求所獲;有所依,方所成!