【问题标题】:$_FILES is empty for large file upload$_FILES 为空,用于大文件上传
【发布时间】:2019-11-25 22:13:51
【问题描述】:

我正在尝试在 IIS 服务器上上传 PHP 中的大文件。我正在使用 PHP 7.1IIS 8.5。文件上传适用于小于 1 GB 的文件。但如果我尝试上传大于 1 GB 的文件,则 $_FILES 变量为空数组。

error_get_last() 给出错误

1388289413 字节的 POST Content-Length 超过了 1073741824字节

*。我已经检查了所有的配置,它们都是按顺序排列的。

我在 web.config 文件中有以下配置

<security>
        <requestFiltering>
            <requestLimits maxAllowedContentLength="2147483648" />
        </requestFiltering>
</security>

php.ini 中的设置也一样

memory_limit = 3G
post_max_size = 3G
upload_max_filesize = 3G

我还缺少什么? 你们能帮我解决这个问题吗?提前致谢。

【问题讨论】:

  • 更新php.ini文件后是否重启了apache服务器?
  • 它是一个 IIS 服务器,是的,它已重新启动。
  • 请转至question。这和你的问题一样。
  • 我试过这些东西,但还是不行
  • 尝试编辑位于“%windir%\system32\inetsrv\config\applicationhost.config”的applicationhost.config文件修改这个里面的配置数据 部分。完成此操作后重新启动 iis 服务器。

标签: php iis


【解决方案1】:

您可以尝试使用MB 中的值。将 GB 转换为必要的 MB。

假设为 2GB,

php_value memory_limit 2048M

另外,请编辑名为 php.ini 的文件,而不是 Apache 文件

【讨论】:

    【解决方案2】:

    分块上传数据:

    https://www.plupload.com/

    plupload 是一个 javascript/php 库,它非常易于使用并允许分块。

    明天你可能需要上传一个 5 或 10GB 的文件,最好使用分块。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-04-30
      • 2016-10-15
      • 2015-01-01
      • 2013-03-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-12
      相关资源
      最近更新 更多