加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > Nginx > 正文

PHP和nginx出现413 Request Entity Too Large 怎么解决方法?

发布时间:2020-12-13 20:51:29 所属栏目:Nginx 来源:网络整理
导读:《PHP和nginx出现413 Request Entity Too Large 怎么解决方法?》要点: 本文介绍了PHP和nginx出现413 Request Entity Too Large 怎么解决方法?,希望对您有用。如果有疑问,可以联系我们。 如果服务器出现413 Request Entity Too Large 时,一般是提交表单

《PHP和nginx出现413 Request Entity Too Large 怎么解决方法?》要点:
本文介绍了PHP和nginx出现413 Request Entity Too Large 怎么解决方法?,希望对您有用。如果有疑问,可以联系我们。

如果服务器出现 413 Request Entity Too Large 时,一般是提交表单时出现。依据服务器类型不同,方法也不同:


Nginx服务器

原因是请求实体太长了。一般出现种情况是Post请求时Body内容Post的数据太大了

如上传大文件过大; 如POST数据比较多

处理方法修改nginx.conf的值就可以解决了。

client_max_body_size 2M        改为  
client_max_body_size 10M


还要检查php.ini,这个大小client_max_body_size要和php.ini中的如下值的最大值一致或者稍大,这样就不会因为提交数据大小不一致出现的错误。

post_max_size = 8M
upload_max_filesize = 6M

修改完配置后,别忘记重新加载。


有人会问:post_max_size 和 upload_max_filesize 之间关系是什么?

从字面含义看一个是上传文件最大值upload_max_filesize,一个是通过POST提交数据的最大值post_max_size ,一般在php中用的是POST方式上传。

所以php.ini中设置 memory_limit > post_max_size > upload_max_filesize

当上传大文件时为了防止网速慢时超时现象,需要适当调大max_execution_time的值。


Apache服务器

修改下Apache配置文件中的LimitRequestBody配置,如果是虚拟主机,请联系空间商帮助修改。

具体步骤:

在apache环境中上传较大软件的时候,有时候会出现413错误,出现这个错误的原因,是因为apache的配置不当造成的,找到apache的配置文件目录也就是conf目录,和这个目录平行的一个目录叫conf.d打开这个conf.d,里面有一个php.conf 
目录内容如下: 

# 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 

错误就发生在这个LimitRequestBody配置上,将这个的值改大到超过你的软件大小就可以了 

如果没有这个配置文件请将 
SetOutputFilter PHP 
SetInputFilter PHP 
LimitRequestBody 6550000 

写到apache的配置文件里面即可。 

IIS服务器(Windows Server 2003系统IIS6)

先停止IIS Admin Service服务,然后 
 找到windowssystem32inesrv下的metabase.xml,打开,找到ASPMaxRequestEntityAllowed 修改为需要的值,然后重启IIS Admin Service服务 

1、在web服务扩展 允许active server pages和在服务器端的包含文档 
2、修改各站点的属性 主目录-配置-选项-启用父路径 
3、使之可以上传大文档(修改成您想要的大小就可以了,以字节为单位) 
c:WINDOWSsystem32inetsrvMetaBase.xml 

!企业版的windows2003在第592行 
默认的预设置值 AspMaxRequestEntityAllowed="204800" 即200K 

将其加两个0,即改为,现在最大就可以上传20M了。 
 AspMaxRequestEntityAllowed="20480000"

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读