【问题标题】:$_POST - Cannot upload images larger than 1mb$_POST - 无法上传大于 1mb 的图片
【发布时间】:2014-04-21 14:35:20
【问题描述】:

我的虚拟主机服务 (Dreamhost) 允许我创建一个“phprc”文件并将自定义变量放入其中:

upload_max_filesize = 64M
post_max_size= 64M
max_execution_time = 500
max_input_time = 500
memory_limit = 128M

我确信上面的代码可以正常工作,因为我的 phpinfo() 文件显示了我希望它们设置的所有变量。

但是,每当我使用 $_POST 尝试上传大于 1mb 的图像(所有文件均为 .jpg)时,都会收到 413 错误。我成功上传的最大文件为 716kb,但我不知道失败文件的大小。

我得到的错误:

Request Entity Too Large

The requested resource
/media/function-image-upload.php
does not allow request data with POST requests, or the amount of data provided inthe request exceeds the capacity limit.

我花了很长时间试图解决这个问题,联系了支持人员并做了各种各样的事情。我认为phpinfo()中的其他变量可能有问题。

我不知道该怎么办! :(

【问题讨论】:

  • 您可以访问您的 apache 配置吗?看起来你有类似这个选项的问题httpd: LimitRequestBody
  • “每当我使用 $_POST 尝试上传大于 1mb 的图像时,我都会收到 413 错误” - 这可能来自 Web 服务器本身,而不是 PHP。因此,请检查/阅读他们对 Web 服务器配置级别的请求大小施加的限制。
  • doxbox.ca/index.php/forum/11-support/… 提到 apache 'modsecurity' 和 "SecRequestBodyLimit" 可能会引起麻烦。我不知道,只是搜索的结果。

标签: php post upload


【解决方案1】:

最大文件上传大小是php.ini 中的设置,由upload_max_filesize 标识。

在我的 13.10 盒子上执行 cat /etc/php5/cli/php.ini | grep -i file_ 返回

file_uploads = On
max_file_uploads = 20
upload_max_filesize = 5M //needs to be in {x}M format

托管服务提供商通常将此设置设置得较低,以减少带宽和存储需求。另外,当您考虑到这一点时,您会发现自己是个异类,因为没有多少人需要将如此大的文件上传到 Drive 或 Dropbox 等非 Web 服务。

如果您有权访问php.ini 文件,则修改它很简单。如果您不这样做,那么我建议您将托管计划转移到 VPS 或使用 Amazon AWS、linode droplet 或 heroku dyno。

【讨论】:

  • HTTP 服务器 (Apache, nginx, ...) 也有自己的设置。因此,最大可上传文件大小是 Web 堆栈的最大正文大小设置的瓶颈
【解决方案2】:

谢谢大家,但似乎这一切都是我的错误。

事实证明,我的主机默认启用了 mod_security,这将上传限制为 1mb。将其关闭,现在一切正常!

供将来参考,或者如果有人确实遇到这样的问题并最终在互联网上拖网 HOURS 无济于事:

关闭 MODSECURITY!

特别感谢 Ryan Vincent 指出,但我在 muhaha 之前修复了它 :)

【讨论】:

  • 很高兴你把它整理好了。 :)
  • 我在 dreamhost 上,遇到同样的错误,你如何关闭 MODSECURITY?
  • Dreamhost 表示 mod_security 可以通过取消选中其面板上的框来关闭。他们还很有帮助地指出,他们不支持通过.htaccess 对其进行调整(这会提供许多针对此问题的建议修复,这些修复基本上会关闭 mod_security 无用)。供参考:help.dreamhost.com/hc/en-us/articles/…
猜你喜欢
  • 1970-01-01
  • 2016-08-01
  • 2021-06-03
  • 2019-09-23
  • 1970-01-01
  • 2014-09-03
  • 2014-05-12
  • 2010-10-23
  • 2013-01-04
相关资源
最近更新 更多