我正在尝试允许用户上传大文件(64MB),并计划更改upload_max_filesize为64MB.
但是,我是否应该更改memory_limit为64MB或更大?
被memory_limit连接到upload_max_filesize?
Art*_*cto 14
不,这是没有必要的.
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否则不需要.