【问题标题】:PHP upload size and its impact on post size and memory limitPHP 上传大小及其对帖子大小和内存限制的影响
【发布时间】:2011-09-19 12:12:00
【问题描述】:

我的 PHP Web 应用程序需要将文件(大小约为 2.5 到 3 GB)上传到服务器。这将如何影响以下指令?

在我的情况下需要哪些值?

  • post_max_size
  • upload_max_filesize
  • memory_limit

您的帮助将不胜感激。

【问题讨论】:

  • 您使用的是 32 位还是 64 位 PHP?
  • 我正在运行 32 位系统(Fedora14)
  • 如果你处理的文件那么大,你应该使用FTP来传输文件。文件越大,发送文件所需的时间就越多。有时可以重置连接,导致传输失败。需要考虑的事情
  • 关于post_max_sizeupload_max_filesize - 我可能错了,但在 32 位系统上它们可能限制为 2GB。这应该被测试。如果有这样的限制,解决方法是完全禁用它们。您可能还对配置max_input_time 感兴趣,尽管我认为不会因此出现问题。
  • @binaryLV 你说得对。在 32 位系统上,php/apache 无法处理超过 2GB 的文件

标签: php file-upload memory-limit


【解决方案1】:
  1. post_max_size 应该是3G

  2. upload_max_filesize 应该是3G

  3. memory_limit 取决于!!!你要对文件做什么。如果您要操作文件或执行其他内存密集型工作,则需要设置一个上限。如果您不想设置最大限制,您可以随时将其设置为-1。该值与文件大小无关,而是与脚本处理作业所需的物理内存大小有关。

对于前两个,它是您希望上传的最大文件大小,后缀为简写字节值。对于KB 应该是KMB 应该是MGB 应该是G,...

【讨论】:

  • memory_limit 指的是什么?物理内存还是辅助内存?
【解决方案2】:

您的值应该是您要上传的文件的最大大小。因此,如果您想要 3GB,那么每个值都应该是 3072M(3GB,以 MB 为单位)。

【讨论】:

  • 3072 表示 3072 字节。要指定 3072 MB,它应该是 3072M
  • @binaryLV:你说得对,如果size的int值没有后缀byte值,就假设是bytes。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-01
  • 2012-04-26
  • 2019-08-02
相关资源
最近更新 更多