Как увеличить максимальный размер загружаемых файлов в WordPress

max_file_wp

Ограничение на размер файла WordPress

Максимальный размер загружаемых файлов в WordPress может быть установлен на уровне конфигурации WordPress, на уровне конфигурации PHP  или на уровне веб-сервера. Зачастую оно составляет всего 2Мб.

Как узнать максимальный размер для загружаемых файлов в WordPress

 

Фильтр WordPress

Фильтр upload_size_limit функции wp_max_upload_size() определяет максимальный размер загружаемых файлов. По-умолчанию берётся наименьшее из значений двух директив upload_max_filesize (максимальный размер загружаемого файла) и post_max_size (максимальный размер отправляемого фйла на сервер методом POST) из конфига php, — php.ini. Значение фильтра WordPress можно задавать только в пределах upload_max_filesize и post_max_size .

Некоторые WP-плагины могут использовать фильтр upload_size_limit. Если это так, то повторное использование в коде upload_size_limit может не срабатывать.
Можно использовать данный фильтр для того, чтобы изменить максимальный размер загружаемых файлов (например, для пользователей определённой группы):

 

Настройка php

В конфиге PHP — php.ini с помощью директивы upload_max_filesize обычно установлен максимальный размер загружаемых на сервер файлов.

Также в php.ini определяется максимальный размер POST запросов — post_max_size, который должен быть больше или равен upload_max_filesize:

После внесения изменений в конфигурацию — php следует перезапустить.

Функция ini_set()

Директивы upload_max_filesize и post_max_size можно изменять с помощью php функции ini_set() (если это разрешено в настройке интерпретатора!). Для этого в файле wp-config.php или в коде плагина следует вставить следующий код: :

 

Через .htaccess для сервера Apache
Директивы php можно прописывать в файле .htaccess. Поэтому, в файл .htaccess можно добавить следующие значения:

Это очень удобно, т.к. перезапуск Apache не требуется, изменения в .htaccess начинают работать сразу после сохранения.
Чрез nginx.conf для сервера Nginx

Если PHP настроен как FastCGI клиент, то в nginx.conf можно указать следующие директивы :

Также в nginx существует директива client_max_body_size (влияет на максимальный размер загружаемых файлов) она определяет  максимальный размер данных передаваемых в HTTP запросах.

Для того, чтобы изменения вступили в силу nginx необходимо перезапустить.