Загрузка PHP не работает из-за ограничения размера - PullRequest
4 голосов
/ 30 марта 2012

мои значения php.ini

upload_max_size = 14000M
post_max_size = 14000M

если я увеличиваю значение более чем на 14000M, доступ к $ _POST невозможен, и с помощью этого значения я могу загрузить файл только 1,5 ГБ, а не могу загрузить файл 2,14 ГБ .

Здесь у меня три вопроса

  1. Что мне делать, чтобы массив $ _POST также продолжал работать, и я тоже могу загрузить файл 2,14 ГБ.
  2. Почему $ _POST не работает, когда я превышаю значение более 14000M
  3. 14000M должно означать 14GB, не правда ли? если так тогда почему я не могу загрузить файл 2.14GB

Ответы [ 4 ]

2 голосов
/ 31 марта 2012

я нашел ответ на свой вопрос после 2 дней работы.
Это ошибка в PHP, которая позволяет нам поставить * _max_size = 14000M и не позволяет загружать файл размером 14000MB.

Ссылка https://bugs.php.net/bug.php?id=35578

Мы не можем загрузить файл размером более 2047 МБ, поэтому следующие значения означают меньше

upload_max_size = 14000M
post_max_size = 14000M

и должны быть преобразованы в его максимальное значениекак

upload_max_size = 2047M
post_max_size = 2047M

Так что теперь вы можете загрузить около 1,99 ГБ файла

0 голосов
/ 30 марта 2012

Мне повезло, используя G (Gigs) в моем файле php.ini:

upload_max_size = 3G

post_max_size = 3G

Не уверен, поможет ли этопроблема $ _POST.

0 голосов
/ 30 марта 2012

Существует гораздо больше ограничений и ловушек, которые вы должны проверить, см. Официальную документацию PHP: http://www.php.net/manual/en/features.file-upload.common-pitfalls.php

В любом случае, обратите внимание, что 2G также является пределом 32-разрядного целого числа со знаком!Так что эта проблема может возникнуть из-за других ограничений, не связанных с загрузкой.Кроме того, каков максимальный размер файла в файловой системе сервера?2G - это ограничение для некоторых систем.

0 голосов
/ 30 марта 2012

Есть не только upload_max_size и post_max_size, которые влияют на загрузку файла. Проверьте эту ссылку

Наиболее важным является memory_limit. когда вы загружаете большой файл, php исчерпывает память

...