上传大型php文件


Large php file upload

大家好。

所以。。。我有一个网站需要上传500MB大的文件。

我的问题是…我需要什么样的系统需求?特别是关于内存。上传一个500MB的文件,我需要500MB的RAM?一次上传成功需要多少RAM?

PHP,或者更好的web服务器,将不会在RAM中缓冲整个上传。

上传大小并不直接取决于RAM大小。我不能说你的系统应该是什么样子,但我可以说,我几年前就用低成本的工作站处理了GB大小的更新。

请注意,如果您想支持大上传,则必须更改以下php.ini设置:

upload_max_filesize = '500M';
post_max_size = '500M';

关于内存:请注意,PHP不会消耗内存。网络服务器将处理下载。在PHP中,您不会担心这一点。

如果您使用Linux系统,您可以在键入时查看tcp缓冲区大小

cat /proc/sys/net/ipv4/tcp_rmem

在终端中。你会看到3个数字。缓冲区的最小、中等和最大大小(以字节为单位(。在我的系统上是:

4096    87380   4115680

这意味着最大缓冲区大小约为3.9MB,比您拥有的500MB要小得多。

所以在这种情况下,不要担心记忆力。网络很可能是瓶颈。