【问题标题】:Why do files over 400MB not upload via Dropzone?为什么超过 400MB 的文件不能通过 Dropzone 上传?
【发布时间】:2024-01-14 02:07:01
【问题描述】:

大家好:我正在使用 Dropzone 5.7.2 上传视频文件 (QuickTime .mov)。这些东西非常大,但我可以成功上传一个 350MB 的文件,并将 PHP 限制设置为:

    ini_set('upload_max_filesize', '800M');
    ini_set('post_max_size', '800M');
    ini_set('memory_limit', '800M');

但我无法上传具有相同设置的 639MB 文件(或任何超过 400MB 的文件)。我已经没有地方可以寻找另一个神秘环境了。

我在 Ubuntu 18.04.5 上运行 PHP 7.4.11、Apache 2.4.29。

关于我可能错过的任何想法?

【问题讨论】:

    标签: large-files dropzone


    【解决方案1】:

    主要问题是您不能将upload_max_filesize 设置为ini_set

    File Uploads Configuration Options
    
    Name                Default Changeable
    ==========================================
    upload_max_filesize "2M"    PHP_INI_PERDIR   
    

    https://www.php.net/manual/en/ini.core.php#ini.sect.file-uploads

    PHP_INI_PERDIR 不能用 ini_set 更改

    PHP_INI_PERDIR 可以在 php.ini、.htaccess、httpd.conf 或 .user.ini 中设置条目(自 PHP 5.3 起)

    https://www.php.net/manual/en/configuration.changes.modes.php

    此外,值不应相同。你需要

    memory_limit > post_max_size > upload_max_filesize

    post_max_size 整数 设置允许的帖子数据的最大大小。此设置也会影响文件上传。要上传大文件,此值必须大于 upload_max_filesize。一般来说,memory_limit 应该大于 post_max_size

    https://www.php.net/manual/en/ini.core.php#ini.post-max-size

    【讨论】:

    • 完美!多么简洁、准确和礼貌的回答!谢谢!