Post 由于大小限制,PHP上载无法工作

Post 由于大小限制,PHP上载无法工作,post,file-upload,upload,php,Post,File Upload,Upload,Php,我的php.ini值 upload_max_size = 14000M post_max_size = 14000M 如果我增加的值超过14000M,$\u POST将无法访问,使用该值,我只能上载1.5GB的文件,无法上载2.14GB的文件 这里我有三个问题 我应该怎么做才能使$\u POST array继续工作,并且我还可以 上传一个2.14 GB的文件 为什么当我超过 价值超过14000M 14000M应该意味着14GB,不是吗?如果是的话 那为什么我不能上传2.14GB的文件呢 只有u

我的php.ini值

upload_max_size = 14000M
post_max_size = 14000M
如果我增加的值超过14000M,$\u POST将无法访问,使用该值,我只能上载1.5GB的文件,无法上载2.14GB的文件

这里我有三个问题

  • 我应该怎么做才能使$\u POST array继续工作,并且我还可以 上传一个2.14 GB的文件
  • 为什么当我超过 价值超过14000M
  • 14000M应该意味着14GB,不是吗?如果是的话 那为什么我不能上传2.14GB的文件呢

  • 只有
    upload_max_size
    post_max_size
    会影响文件上载。检查

    最重要的是
    内存限制
    。当您尝试上载大文件时,php内存不足

    我很幸运在我的php.ini文件中使用了G(Gigs):

    上传\u最大\u大小=3G

    post_最大尺寸=3G


    不确定这是否有助于解决$\u POST问题。

    您必须检查更多的限制和陷阱,请参阅官方PHP文档:


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

    我在工作两天后找到了问题的答案。
    这是PHP中的一个bug,它允许我们将*_max_size=14000M,而不允许我们上传14000MB的文件

    参考文献

    我们无法上传超过2047MB的文件,因此以下值的意义较小

    upload_max_size = 14000M
    post_max_size = 14000M
    
    并应转换为其最大值,如

    upload_max_size = 2047M
    post_max_size = 2047M
    

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

    只是一个旁注:
    $\u POST
    与文件上传无关你的Web服务器和php日志中有什么?你对较大的文件、超时、空结果等有什么问题吗?
    是否分配了内存\u大小
    错误发生了?这是我在回答中告诉你的。。。如果您使用它,您可能会节省一些时间:-)无论如何,上传这么大的文件没有任何意义-为此,您应该使用分块上传,例如与plupload一起使用。