максимальный размер загрузок в php зависит от количества настроек. вот они, помещенные в файл виртуальных хостов apache:
php_admin_flag file_uploads on
php_admin_value memory_limit 560M
php_admin_value post_max_size 530M
php_admin_value upload_max_filesize 500M
php_admin_value max_execution_time 0
php_admin_value max_input_time 0
пожалуйста, не обращайте внимания на приведенные выше значения, но они позволяют мне загружать около 150–200 МБ. memory_limit, post_max_size и upload_max_filesize имеют определенные соотношения между собой. я полагаю, что
upload_max_filesize < post_max_size < memory_limit
однако я не знаю, как рассчитать точные размеры. например, какими должны быть значения этих параметров, чтобы разрешить загрузку точно 100M файлов? Из того, что я собрал в Интернете, существует ряд факторов, определяющих эти соотношения, но я не смог найти никаких ссылок, что это за факторы.
Я использую систему Linux.
Ограничение памяти не зависит от размера загружаемых файлов POST. Загруженные файлы будут проанализированы непосредственно PHP и помещены во временную папку.
В upload_max_filesize
должно быть 100 млн, а ваш post_max_size
должно быть 100 МБ + накладные расходы на многостраничное кодирование. Накладные расходы низкие, поскольку они кодируются в двоичном формате с границей. Даже со 101МБ работать будет.
Теперь он все еще может привести к сбою вашего скрипта, если вы затем сделаете $file = file_get_contents('path/to/uploaded/file.ext');
потому что в этом случае memory_limit
вступит в силу.