【发布时间】:2013-08-09 21:11:06
【问题描述】:
如何避免这个413错误?
请求实体太大
请求的资源/serverpath/reports.php不允许POST请求的请求数据,或者请求中提供的数据量超过容量限制。
位于 demo3.website_name 端口 80 的 Apache 服务器
那么,谁能帮忙设置 php.ini 以及如何设置 htaccess 以允许覆盖状态
【问题讨论】:
如何避免这个413错误?
请求实体太大
请求的资源/serverpath/reports.php不允许POST请求的请求数据,或者请求中提供的数据量超过容量限制。
位于 demo3.website_name 端口 80 的 Apache 服务器
那么,谁能帮忙设置 php.ini 以及如何设置 htaccess 以允许覆盖状态
【问题讨论】:
php.ini 有一个名为 post_max_size 的设置,默认设置为 8M(至少在 Ubuntu 上)。
如果您要发布大量数据,请考虑增加该值。
【讨论】:
php.ini 中的值后是否尝试重新启动网络服务器?
尝试在php.ini 中查找以下行并将其设置为您需要的大小:
post_max_size = 25M
然后您可以在.htaccess 文件中设置它:
php_value post_max_size 25M
【讨论】:
我不知道,在我拥有的 WP 插件中的自定义字体字段中添加了一个反斜杠,并且每次我离开页面时都会添加另一个字符。最终,我得到了大量的 //////////s 字符串,这导致了“请求实体太大”错误。我的 ISP 提高了我的 .ini 中的最大帖子和 vars = 但这并没有解决问题。在发现并删除大量文本字符串后立即解决。希望这对其他人有帮助。
【讨论】:
如何在 NGINX 中修复它? client_max_body_size
要解决此问题,您需要增加 client_max_body_size 指令的值。该指令定义了 Nginx 在 HTTP 请求中将接受的最大数据量。默认情况下,此值设置为 1 兆字节,这意味着如果您尝试上传大于 1 兆字节的文件,您将收到错误 413:请求实体太大页面。您可以在三个级别插入此指令:
在 http 块中:这将为您的配置中的所有服务器和位置设置指令值n
在服务器块中:这将为一个特定服务器的所有位置设置指令值
在位置块中:这将为特定服务器中的一个特定位置设置指令值
在本例中,我将把它插入到我的 http 块中并将其设置为 500 兆字节:
http {
client_max_body_size 500M; # allows file uploads up to 500 megabytes
[...]
}
来源: http://cnedelcu.blogspot.com.ar/2013/09/nginx-error-413-request-entity-too-large.html
【讨论】:
在 Apache 2.4 上,LimitRequestBody 指令也值得一看。它可以为每个虚拟主机配置,并进入<Directory> 部分。
<VirtualHost *:80>
[...]
<Directory "/var/www/public_html">
[...]
LimitRequestBody 33554432
</Directory>
</VirtualHost>
大小值以字节为单位。当我尝试了php.ini max size 指令并且仍然出现错误时,这终于为我解决了。
【讨论】: