PHP, FCGID и Apache — Параметры, связанные с размером

Используются следующие переменные PHP:
upload_max_filesize - Максимальный размер файла, загружаемого с помощью PHP (используя закачку через HTTP)
post_max_size - Устанавливает максимальный разрешенный размер размещаемого файла. Этот параметр также влияет на загрузку файла. Для загрузки больших файлов эта переменная должна быть больше, чем upload_max_filesize. Если вашим сценарием включено ограничение памяти, то memory_limit тоже влияет на закачку файлов. Проще говоря, memory_limit должен быть больше, чем post_max_size.
memory_limit - ограничение памяти для отдельного PHP-сценария
Таким образом, чтобы поддерживать закачку файлов до, скажем, 50MB, вы должны задать что-то наподобие:
post_max_size = 51M
upload_max_filesize = 50M
Переменную memory_limit оценить сложнее, так как она зависит от того, что сценарий делает с файлом. Например, у roundcube была известна ошибка с объемом памяти, потребляемой вложением, но обычно приложения не так требовательны.
Документация по PHP рекомендует memory_limit больлше, чем post_max_size, так что, как правило, значения начиная с 16 + post_max_size (16MB – это значение по умолчанию) должно быть достаточно. Тем не менее, мы думаем, что документация неправа / устарела. Чтобы работать с тяжелыми приложениями можно начать со значения 16MB и начать разбираться уже в том случае, если ничего не работает. После изучения error_log станет понятно, хватает или нет сценарию памяти:
[warn] mod_fcgid: stderr: PHP Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 4864 bytes)…
В наших тестах мы поняли, что простые способы управления файлами в веб-приложениях могут загружать большие файлы, без проблем используя значение memory_limit по умолчанию – 16 MB. (Протестировано на RHEL с php 5.1, смотрите здесь: http://www.php.net/manual/en/features.file-upload.php#78017)
Другие праметры
Директива apache LimitRequestBody тоже может ограничивать загрузку больших файлов. Тем не менее, ее значение по умолчанию 0 и она обычно отсутствует в httpd.cond. Таким образом, по умолчанию ограничения отсутствуют.
Документация по всем вышеизложенным функциям доступна на сайтах php.net и httpd.apache.org.
.
Ранее: PHP, FCGID и Apache – неразбериха из-за ограничений загрузки,
PHP, FCGID и Apache, Зависимые от времени параметры
.
.
Источник: http://blog.angulosolido.pt/2010/07/php-fcgid-and-apache-confusion-of.html
Popularity: 4%
Этот материал находится на сайте http://compiling.ru
Оставьте свой отзыв