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

Ограничение загрузки файлов IIS 6.1

Windows Server 2008 R2 Datacenter IIS 6.1

У нас возникают проблемы при попытке загрузить файл размером более 1,5 МБ в наше веб-приложение PHP. Лимит загрузки PHP установлен на 20 МБ и проверен.

Я искал решения, но ни одного из них нет в этой конкретной версии Windows и IIS 6.1, например; например, изменение файла «metabase.xml» (его нельзя найти на сервере). Есть ли у кого-нибудь предложения, пожалуйста?

Я думаю, что, возможно, вы столкнулись с проблемой тайм-аута, ожидающей завершения загрузки, и на самом деле это не ограничение размера.

Вот некоторая информация от специалистов по PHP, которые могут быть кандидатами для проверки:

"max_execution_time" целое число

Это устанавливает максимальное время в секундах, в течение которого скрипт может выполняться, прежде чем он будет завершен анализатором. Это помогает предотвратить связывание сервера с плохо написанными сценариями. Значение по умолчанию - 30. При запуске PHP из командной строки значение по умолчанию - 0.

На максимальное время выполнения не влияют системные вызовы, потоковые операции и т. Д. См. "set_time_limit ()"для получения более подробной информации.

Ваш веб-сервер может иметь другие конфигурации тайм-аута, которые также могут прерывать выполнение PHP. В Apache есть директива тайм-аута, а в IIS есть функция тайм-аута CGI. Оба значения по умолчанию - 300 секунд. См. Подробную информацию в документации к вашему веб-серверу.

"max_input_time" целое число

Это устанавливает максимальное время в секундах, в течение которого сценарий может анализировать входные данные, такие как POST, GET и загрузка файлов.

Примечание. Функция set_time_limit () и директива конфигурации max_execution_time влияют только на время выполнения самого скрипта. Любое время, потраченное на действия, происходящие вне выполнения сценария, такие как системные вызовы с использованием system (), потоковые операции, запросы к базе данных и т. Д., Не учитывается при определении максимального времени, в течение которого сценарий был запущен. Это не так в Windows, где измеренное время является реальным..

Дополнительно вот некоторая информация о проверке / установке тайм-аута CGI в IIS5 и 6.

HTH

Возможно, вы захотите взглянуть на этот пост:

https://stackoverflow.com/questions/1176484/open-source-file-upload-with-no-timeout-on-iis6-with-asp-asp-net-2-0-or-php5