【问题标题】:How to avoid Request Entity Too Large 413 error如何避免 Request Entity Too Large 413 错误
【发布时间】:2013-08-09 21:11:06
【问题描述】:

如何避免这个413错误?

请求实体太大

请求的资源/serverpath/reports.php不允许POST请求的请求数据,或者请求中提供的数据量超过容量限制。

位于 demo3.website_name 端口 80 的 Apache 服务器

那么,谁能帮忙设置 php.ini 以及如何设置 htaccess 以允许覆盖状态

【问题讨论】:

    标签: php .htaccess


    【解决方案1】:

    php.ini 有一个名为 post_max_size 的设置,默认设置为 8M(至少在 Ubuntu 上)。

    如果您要发布大量数据,请考虑增加该值。

    【讨论】:

    • 是的,我可以在 php 或 htaccess 中设置 post_max_size,但是当我在 php 文件上设置它不起作用时,我无法访问 php.ini 文件
    • 您在更改php.ini 中的值后是否尝试重新启动网络服务器?
    【解决方案2】:

    尝试在php.ini 中查找以下行并将其设置为您需要的大小:

    post_max_size = 25M
    

    然后您可以在.htaccess 文件中设置它:

    php_value post_max_size 25M
    

    【讨论】:

    • 您是在本地运行它还是从托管域运行它?某些服务提供商不允许更改 php.ini,它可能需要更改 .htaccess 文件的权限。
    • 托管域我无法访问 php.ini 文件
    【解决方案3】:

    我不知道,在我拥有的 WP 插件中的自定义字体字段中添加了一个反斜杠,并且每次我离开页面时都会添加另一个字符。最终,我得到了大量的 //////////s 字符串,这导致了“请求实体太大”错误。我的 ISP 提高了我的 .ini 中的最大帖子和 vars = 但这并没有解决问题。在发现并删除大量文本字符串后立即解决。希望这对其他人有帮助。

    【讨论】:

      【解决方案4】:

      如何在 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

      【讨论】:

      • 似乎不是每个文件,而是每个上传会话?我将我的设置为 500m,但在通过 Fineuploader 上传 1000 个 4 mb 文件后出现此错误。
      • omg,每次我使用它都有效,请检查您的配置是否正在应用(并重新启动 nginx)。
      • 使用这个命令行检查:nginx -c /etc/nginx/nginx.conf -T
      • “在位置块中:这将为特定服务器中的一个特定位置设置指令值”...由于某种原因,这对我不起作用。我必须在服务器块中设置它。
      【解决方案5】:

      在 Apache 2.4 上,LimitRequestBody 指令也值得一看。它可以为每个虚拟主机配置,并进入<Directory> 部分。

      <VirtualHost *:80> 
        [...]
        <Directory "/var/www/public_html"> 
          [...]
          LimitRequestBody 33554432 
        </Directory> 
      </VirtualHost> 
      

      大小值以字节为单位。当我尝试了php.ini max size 指令并且仍然出现错误时,这终于为我解决了。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-12-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-03-17
        相关资源
        最近更新 更多