我有一个 php 上传系统,我想让它上传大文件,有些文件可能高达 200mb。这意味着上传这些文件不仅会占用大量带宽、服务器内存空间,还会花费大量时间。
现在我的系统可以正常工作了,但是尝试上传大型文件时似乎会失败。我已经用一个 22mb 的文件测试过它,它运行良好,但是当我将它上传到一个大约 89.4mb 的文件时,它失败了,它完成了整个上传过程,但是当它尝试发布文件时,它给了我一个错误。
不,我已经更改了 php.ini 文件中的许多设置:
- upload_max_filesize
- 帖子最大大小
- 最大输入时间
- 最大执行时间
- 内存限制
然后我意识到我的 IIS 服务器设置了执行时间限制,大约为 2 分钟,所以我将其设置为大约 30 分钟(请注意,在测试中,我上传 80.4mb 的文件大约需要 23 分钟左右)。我收到的错误是“404 - 未找到文件或目录”。这很奇怪,因为对于较小的文件不会这样做。
我唯一能想到的是,我的 Windows Server 中的某个地方有一个设置,阻止我的系统将这么大的文件从临时文件移动到正确的目录......或者也许临时文件无法处理这样的文件大小?
所以,我想知道是否有人可以写一份需要更新的设置清单,以便上传这样的大文件,因为我快到了,只是有些东西阻止了我。
提前致谢。
答案1
我认为你需要看看httpRuntime
属性调用maxRequestLength
。此值默认为 4096 KB (4MB)
如果你安装了请求过滤功能,你可能还需要查看requestLimits
属性调用maxAllowedContentLength
。此值默认为 30.000.000KB,因此如果您需要上传大于 28MB 的文件,您也必须增加此值