【发布时间】:2011-04-08 17:53:47
【问题描述】:
我正在尝试允许用户上传大文件 (64MB),并计划将 upload_max_filesize 更改为 64MB。
但是,我是否也应该将 memory_limit 更改为 64MB 或更大?
memory_limit 是否连接到 upload_max_filesize?
【问题讨论】:
标签: php
我正在尝试允许用户上传大文件 (64MB),并计划将 upload_max_filesize 更改为 64MB。
但是,我是否也应该将 memory_limit 更改为 64MB 或更大?
memory_limit 是否连接到 upload_max_filesize?
【问题讨论】:
标签: php
不,没必要。
根据请求的内容类型,PHP 有不同的 POST 阅读器和处理程序。在“multipart/form-data”(用于发送文件)的情况下,rfc1867_post_handler 充当混合阅读器/处理程序。它填充$_POST 和$_FILES。 $_POST 中的内容计入内存限制,$_FILES 中的内容也计入内存限制。
但是,$_FILES 仅包含有关文件的元数据,而不是文件本身。这些只是写入磁盘,因此不计入内存限制。
【讨论】:
post_max_size 必须大于 upload_max_filesize。如果表单包含更多文件上传,则post_max_size 必须大于它们的总和。
memory_limit 在文件上传中没有任何重要作用,因为上传的文件存储在/tmp (Linux) 目录中,而不是内存中。如果您想提交带有表单字段的大量数据(不是文件上传),那么您需要一个大的memory_limit,否则不需要。
【讨论】: