HTTP 413 请求实体太大
Posted
技术标签:
【中文标题】HTTP 413 请求实体太大【英文标题】:HTTP 413 Request Entity too Large 【发布时间】:2012-09-23 08:54:11 【问题描述】:我目前无法在 drupal 7 (7.15) 的自定义文件字段上使用 Drupal FileField Source(远程 url 选项)发布非常大的文件。该文件正在成功上传到 tmp 目录,但在尝试发布时失败。文件大小为 870Mb(一个 510mb 文件已成功发布。)。
我在 access_log 中收到以下错误:
83.000.15.200 - - [02/Oct/2012:12:30:14 +0000] "POST /file/ajax/field_video_source/und/0/form-i6gTPc5LlZsQxKpgO43eaLGjh7dgWqHjQ6TPZD9SRmY HTTP/1.1" 500 413
我假设我将此错误正确解释为 413 请求实体太大
我已经使用以下设置配置了 php.ini:
post_max_size = 1800M
max_execution_time = 3600 (i know that's overkill)
memory_limit = 1750M
max_input_time = -1 (unlimited)
此外,我还尝试使用以下方法在 php.conf 中将 LimitRequestBody
值设置为 0:
<Files *.php>
SetOutputFilter PHP
SetInputFilter PHP
LimitRequestBody 0
</Files>
这似乎没有帮助。
服务器运行 Centos 6.3、Apache/2.2.15、PHP 5.3.3,2GB 内存和 40GB 磁盘。
我不敢相信它应该在那个大小的文件 (~800mb) 和那些服务器设置上苦苦挣扎?
【问题讨论】:
【参考方案1】:如果可以的话,您是否可以访问 http.conf。
这一直是我有时上传超过 500mb 的问题。尽管我强烈建议您尝试使用它 SecRequestBodyAccess 设置为“开”。
我必须编辑 Apache 配置文件 (http.conf) 并进行更改
SecRequestBodyAccess On
到
SecRequestBodyAccess Off
编辑:
如果我没记错的话,你可以试试下面的。
设置
SecRequestBodyNoFilesLimit , the maximum value is 1073741824 (1Gb)
【讨论】:
以上是关于HTTP 413 请求实体太大的主要内容,如果未能解决你的问题,请参考以下文章
上传报告失败 - HTTP 代码 413:页面未显示,因为请求实体太大