【问题标题】:In PHP settings, should memory_limit > upload_max_filesize?在 PHP 设置中,应该 memory_limit > upload_max_filesize 吗?
【发布时间】:2011-04-08 17:53:47
【问题描述】:

我正在尝试允许用户上传大文件 (64MB),并计划将 upload_max_filesize 更改为 64MB。

但是,我是否也应该将 memory_limit 更改为 64MB 或更大?

memory_limit 是否连接到 upload_max_filesize

【问题讨论】:

    标签: php


    【解决方案1】:

    不,没必要。

    根据请求的内容类型,PHP 有不同的 POST 阅读器和处理程序。在“multipart/form-data”(用于发送文件)的情况下,rfc1867_post_handler 充当混合阅读器/处理程序。它填充$_POST$_FILES$_POST 中的内容计入内存限制,$_FILES 中的内容也计入内存限制。

    但是,$_FILES 仅包含有关文件的元数据,而不是文件本身。这些只是写入磁盘,因此不计入内存限制。

    【讨论】:

      【解决方案2】:

      post_max_size 必须大于 upload_max_filesize。如果表单包含更多文件上传,则post_max_size 必须大于它们的总和。

      memory_limit 在文件上传中没有任何重要作用,因为上传的文件存储在/tmp (Linux) 目录中,而不是内存中。如果您想提交带有表单字段的大量数据(不是文件上传),那么您需要一个大的memory_limit,否则不需要。

      【讨论】:

        猜你喜欢
        • 2011-07-03
        • 2013-06-29
        • 2011-10-31
        • 2019-06-10
        • 2014-06-25
        • 2011-02-28
        • 1970-01-01
        相关资源
        最近更新 更多