Я пытаюсь разрешить пользователям загружать большие файлы (64 МБ) и планирую изменить:
upload_max_filesize to 64MB
Однако, следует также изменить
memory_limit to 64MB or larger?
Подключен ли memory_limit к max_filesize?
Нет, это не обязательно.
PHP имеет разные POST-ридеры и обработчики в зависимости от типа содержимого запроса. В случае «multipart / form-data» (что используется для отправки файлов), rfc1867_post_handler действует как смешанный считыватель / обработчик. Он заполняет как $_POST и $_FILES . То, что входит в число $_POST относится к пределу памяти, что также учитывается в $_FILES .
Однако $_FILES имеет только метаданные о файлах, а не о самих файлах. Они просто записываются на диск и, следовательно, не учитываются в пределе памяти.
post_max_size должно быть больше, чем upload_max_filesize . Если форма содержит больше загрузок файлов, то post_max_size должен быть больше суммы из них.
memory_limit не играет существенной роли в загрузке файлов, поскольку загруженные файлы хранятся в каталоге /tmp (Linux), а не в памяти. Если вы хотите отправить большой объем данных с полями формы (не загружайте файлы), тогда вам нужен большой memory_limit иначе нет.