【问题标题】:Strange PHP error, where does it come from? Codeigniter奇怪的PHP错误,它来自哪里?代码点火器
【发布时间】:2012-08-21 09:37:06
【问题描述】:

今天我正在为头像上传文件,一切正常,它会调整图像大小等,但有时在选择大且无效的文件时会产生此错误:

Warning: POST Content-Length of 52091839 bytes exceeds the limit of 8388608 bytes in Unknown on line 0
You did not select a file to upload.

这种情况不会一直发生,只是偶尔发生。通常它只会在文件太大时给出正确的错误消息。

有谁知道这个错误来自哪里,为什么会出现?

谢谢!

【问题讨论】:

标签: php codeigniter


【解决方案1】:

听起来你需要在 php.ini 中增加post_max_size。如果您还没有增加upload_max_filesize,您可能还需要增加它。

# php.ini
# Allow huge files:
# Post usually needs to be bigger than file upload size!
post_max_size = 256M
upload_max_filesize 128M

【讨论】:

  • 这不是我认为的问题,因为如果我有一个太大而无法发布的文件,它会显示正确的错误:上传的文件超出了 PHP 配置文件中允许的最大大小。这是一个不同的错误,我没有在任何地方设置
  • @user1362916 这两个指令会导致不同的错误。确保两者都足够大。
【解决方案2】:

将 php.ini 中的 post_max_size 更新为更大的值

upload_max_filesize 设置用户可以上传的最大文件大小,而post_max_size 设置可以通过 POST 在表单中发送的最大数据量。这可能是您尝试上传单个大文件时有时会出现大文件错误但尝试上传多个文件时出现上述错误的原因。

【讨论】:

    【解决方案3】:

    这与上传文件时的编码方式有关。

    基本上它被“视为”一个非常大的 POST。

    所以您希望您的 php.ini post_max_size 大于您的 upload_max_filesize 值。

    根据您使用的编码,它应该大 60% 到 100%。

    否则,您的最大文件大小可能为 5 M,但这会被编码为 8.01 M;发生这种情况时,文件大小检查通过,但帖子正文大小检查失败。因此你的错误。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-15
      • 2011-09-27
      • 2016-01-13
      • 2018-11-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多