由于大小限制,PHP上传无法正常工作

时间:2012-03-29 22:19:45

标签: post file-upload upload php

我的php.ini值

upload_max_size = 14000M
post_max_size = 14000M

如果我增加超过14000M的值,则无法访问$ _POST并使用该值我只能上传1.5GB的文件而无法上传2.14GB的文件

这里我有三个问题

  1. 我该怎么做才能让$ _POST数组继续工作,我也可以 上传2.14 GB的文件。
  2. 当我超过时,为什么$ _POST不起作用 价值超过14000M
  3. 14000M应该是14GB,是不是这样?如果是这样 那为什么我无法上传2.14GB的文件

4 个答案:

答案 0 :(得分:2)

我在工作2天后找到了问题的答案 这是PHP中的一个错误,它允许我们放置* _max_size = 14000M并且不允许我们上传14000MB的文件。

参考https://bugs.php.net/bug.php?id=35578

我们无法上传超过2047MB的文件,因此以下值意味着更少

upload_max_size = 14000M
post_max_size = 14000M

应该转换为最大值,如

upload_max_size = 2047M
post_max_size = 2047M

所以现在你可以上传大约1.99GB文件

答案 1 :(得分:0)

不仅upload_max_sizepost_max_size影响文件上传。查看this link

最重要的是memory_limit。当你想上传大文件时,php会耗尽内存

答案 2 :(得分:0)

我在php.ini文件中使用G(Gigs)运气很好:

upload_max_size = 3G

post_max_size = 3G

不确定这是否有助于解决$ _POST问题。

答案 3 :(得分:0)

您需要检查更多限制和陷阱,请参阅官方PHP文档:http://www.php.net/manual/en/features.file-upload.common-pitfalls.php

无论如何,请注意2G也是有符号32位整数的限制!所以这个问题可能会从与上传本身无关的其他一些限制上升。另外,服务器文件系统上的最大文件大小是多少? 2G是对某些系统的限制。