Назад | Перейти на главную страницу

PHP: невозможно увеличить максимальный лимит загрузки

Я использую Apache + PHP 5.3.3-7 в Debian Squeeze, установленный из репозиториев. В дистрибутив PHP в Debian Squeeze входит патч Suhosin. У меня проблемы с загрузкой файлов размером более 4 МБ, некоторые невидимые ограничения не позволяют PHP принять загрузку.

В php.ini У меня есть:

  1. установить upload_max_filesize = 50M
  2. установить post_max_size = 50M
  3. установить memory_limit = 256M
  4. установить max_execution_time = 120
  5. установить max_input_time = 120

В suhosin.ini:

  1. suhosin.memory_limit = 256 МБ
  2. suhosin.post.max_value_length = 50000000
  3. suhosin.request.max_value_length = 50000000
  4. suhosin.post.max_vars = 200000
  5. suhosin.request.max_vars = 200000

Я вообще сомневаюсь, что последние два вообще важны, но мне посоветовали увеличить и их.

Я точно знаю, что PHP действительно правильно загружает значения конфигурации, поскольку phpinfo() соответствует моим ожиданиям. Я ожидаю, что смогу загрузить файл размером до 50 МБ, но загрузить 4 МБ уже не удается. В обычных журналах PHP для каждого сайта нет зарегистрированных ошибок. И я уверен, что для сохранения загруженного файла достаточно места.

Похоже, есть какой-то другой невидимый предел, мешающий мне загружать файлы. Что бы это могло быть? Может быть, сам апач? Однако никогда не слышал об этом пределе.

Я потратил на это почти неделю, и я в отчаянии, как и мой клиент. Любые подсказки приветствуются.

Во-первых, кажется, что это неправильно. Предполагаю опечатку, но все равно укажу:

set upload_max_filesize = 5OM

Это должно быть 0 право?

set upload_max_filesize = 50M

Тоже похоже memory_limit в твоем посте тоже пусто?

В любом случае, после этих настроек вы также должны настроить max_execution_time и max_input_time поэтому время загрузки не истекает. Зависит от скорости и соединения, но правильное понимание всего вышеперечисленного должно позволить вам загружать файлы размером 50 МБ без особых проблем.