《PHP和nginx出現(xiàn)413 Request Entity Too Large 怎么解決方法?》要點(diǎn):
本文介紹了PHP和nginx出現(xiàn)413 Request Entity Too Large 怎么解決方法?,希望對您有用。如果有疑問,可以聯(lián)系我們。
相關(guān)主題:nginx配置
如果服務(wù)器出現(xiàn) 413 Request Entity Too Large 時,一般是提交表單時出現(xiàn)。依據(jù)服務(wù)器類型不同,方法也不同:
Nginx服務(wù)器
原因是請求實(shí)體太長了。一般出現(xiàn)種情況是Post請求時Body內(nèi)容Post的數(shù)據(jù)太大了
如上傳大文件過大; 如POST數(shù)據(jù)比較多
處理方法修改nginx.conf的值就可以解決了。
client_max_body_size 2M 改為
client_max_body_size 10M
還要檢查php.ini,這個大小client_max_body_size要和php.ini中的如下值的最大值一致或者稍大,這樣就不會因?yàn)樘峤粩?shù)據(jù)大小不一致出現(xiàn)的錯誤。
post_max_size = 8M
upload_max_filesize = 6M
修改完配置后,別忘記重新加載。
有人會問:post_max_size 和 upload_max_filesize 之間關(guān)系是什么?
從字面含義看一個是上傳文件最大值upload_max_filesize,一個是通過POST提交數(shù)據(jù)的最大值post_max_size ,一般在php中用的是POST方式上傳。
所以php.ini中設(shè)置 memory_limit > post_max_size > upload_max_filesize
當(dāng)上傳大文件時為了防止網(wǎng)速慢時超時現(xiàn)象,需要適當(dāng)調(diào)大max_execution_time的值。
Apache服務(wù)器
修改下Apache配置文件中的LimitRequestBody配置,如果是虛擬主機(jī),請聯(lián)系空間商幫助修改。
具體步驟:
在apache環(huán)境中上傳較大軟件的時候,有時候會出現(xiàn)413錯誤,出現(xiàn)這個錯誤的原因,是因?yàn)閍pache的配置不當(dāng)造成的,找到apache的配置文件目錄也就是conf目錄,和這個目錄平行的一個目錄叫conf.d打開這個conf.d,里面有一個php.conf
目錄內(nèi)容如下:
#
# PHP is an HTML-embedded scripting language which attempts to make it
# easy for developers to write dynamically generated webpages.
#
LoadModule php4_module modules/libphp4.so
#
# Cause the PHP interpreter handle files with a .php extension.
#
SetOutputFilter PHP
SetInputFilter PHP
LimitRequestBody 6550000
#
# Add index.php to the list of files that will be served as directory
# indexes.
#
DirectoryIndex index.php
錯誤就發(fā)生在這個LimitRequestBody配置上,將這個的值改大到超過你的軟件大小就可以了
如果沒有這個配置文件請將
SetOutputFilter PHP
SetInputFilter PHP
LimitRequestBody 6550000
寫到apache的配置文件里面即可。
IIS服務(wù)器(Windows Server 2003系統(tǒng)IIS6)
先停止IIS Admin Service服務(wù),然后
找到windows\system32\inesrv\下的metabase.xml,打開,找到ASPMaxRequestEntityAllowed 修改為需要的值,然后重啟IIS Admin Service服務(wù)
1、在web服務(wù)擴(kuò)展 允許active server pages和在服務(wù)器端的包含文檔
2、修改各站點(diǎn)的屬性 主目錄-配置-選項(xiàng)-啟用父路徑
3、使之可以上傳大文檔(修改成您想要的大小就可以了,以字節(jié)為單位)
c:\WINDOWS\system32\inetsrv\MetaBase.xml
!企業(yè)版的windows2003在第592行
默認(rèn)的預(yù)設(shè)置值 AspMaxRequestEntityAllowed="204800" 即200K
將其加兩個0,即改為,現(xiàn)在最大就可以上傳20M了。
AspMaxRequestEntityAllowed="20480000"
轉(zhuǎn)載請注明本頁網(wǎng)址:
http://www.snjht.com/jiaocheng/145.html