Одна из частых проблем, с которой сталкиваются пользователи WordPress — это ошибка, связанная с ограничением максимального размера загружаемых файлов. Обычно вы видите сообщение типа "The uploaded file exceeds the upload_max_filesize directive in php.ini" или на экране загрузки медиафайлов появляется уведомление о том, что файл слишком большой. В этой статье мы подробно разберем, как исправить ошибку "Maximum upload file size" в WordPress, используя несколько практических и проверенных методов.
Почему возникает ошибка "Maximum upload file size" в WordPress
Ошибка связана с ограничениями, заданными на уровне PHP и сервера. WordPress наследует эти ограничения из конфигурации PHP, а именно из параметров:
upload_max_filesize— максимальный размер загружаемого файла;post_max_size— максимальный размер данных, отправляемых методом POST;memory_limit— лимит памяти, выделяемой для PHP-скриптов;max_execution_time— максимальное время выполнения скрипта.
Если файл превышает эти лимиты, WordPress не сможет загрузить его, и вы увидите ошибку.
Проверка текущих лимитов загрузки в WordPress
Для начала стоит проверить, какие лимиты установлены на вашем хостинге. Для этого можно использовать стандартный отчет WordPress:
- Перейдите в админ-панели WordPress в меню Медиа → Добавить новый;
- Под формой загрузки будет строка с надписью Максимальный размер загружаемого файла: X Мб.
Если этого недостаточно или хотите получить более детальную информацию, можно создать PHP-файл с функцией phpinfo() или использовать плагин Site Health из WordPress.
Способы исправления ошибки "Maximum upload file size" в WordPress
1. Изменение параметров в php.ini
Если у вас есть доступ к файлу php.ini на сервере, достаточно изменить параметры:
upload_max_filesize = 64M
post_max_size = 64M
memory_limit = 128M
max_execution_time = 300
После изменения файла необходимо перезапустить сервер или PHP-FPM.
2. Редактирование .htaccess (для Apache)
Если не можете редактировать php.ini, попробуйте добавить в файл .htaccess в корне сайта следующие строки:
php_value upload_max_filesize 64M
php_value post_max_size 64M
php_value memory_limit 128M
php_value max_execution_time 300
Этот метод работает только если сервер поддерживает директивы PHP через .htaccess.
3. Использование файла wp-config.php
В файл wp-config.php можно добавить следующий код для увеличения лимитов:
define('WP_MEMORY_LIMIT', '128M');
ini_set('upload_max_filesize', '64M');
ini_set('post_max_size', '64M');
ini_set('max_execution_time', '300');
Этот способ не всегда срабатывает, так как некоторые хостинги блокируют ini_set.
4. Использование плагинов для изменения лимитов загрузки
Если не хотите лезть в код, есть плагины, которые помогут увеличить лимит загрузки без правки файлов:
- Increase Max Upload Filesize — простой плагин, который позволяет задать новый максимальный размер через интерфейс;
- WP Maximum Upload File Size — плагин с расширенными настройками лимитов и проверкой параметров;
- Media Upload Size Limit — позволяет задать разные лимиты для разных ролей пользователей.
Установка и активация плагина обычно решает проблему, если на стороне сервера нет жестких ограничений.
Пример кода для вывода текущих лимитов в админке WordPress
Для удобства можно создать собственную функцию, которая выведет текущие лимиты загрузки прямо в админке. Добавьте следующий код в functions.php вашей темы или в свой плагин:
function wplesson_show_upload_limits() {
echo '<div style="background:#f7f7f7;padding:15px;margin:15px 0;border:1px solid #ddd;">';
echo '<h2>Текущие лимиты загрузки файлов</h2>';
echo '<ul>';
echo '<li>upload_max_filesize: ' . ini_get('upload_max_filesize') . '</li>';
echo '<li>post_max_size: ' . ini_get('post_max_size') . '</li>';
echo '<li>memory_limit: ' . ini_get('memory_limit') . '</li>';
echo '<li>max_execution_time: ' . ini_get('max_execution_time') . ' секунд</li>';
echo '</ul>';
echo '</div>';
}
add_action('admin_notices', 'wplesson_show_upload_limits');
Этот код добавит блок с информацией о лимитах в верхнюю часть страниц админки WordPress. Очень удобно для быстрого контроля текущих настроек.
Дополнительные рекомендации и частые ошибки
Если после всех изменений лимит не вырос, проверьте следующие моменты:
- Ваш хостинг может иметь свои ограничения на уровне сервера, которые не позволяют менять лимиты через php.ini или .htaccess. В таком случае обратитесь в техподдержку;
- Некоторые плагины безопасности могут блокировать изменения параметров PHP;
- Если вы используете Nginx, настройка лимита выполняется в конфиге nginx.conf директивой
client_max_body_size; - После внесения изменений всегда очищайте кеш сайта и браузера, а также перезапускайте серверные службы, если есть такая возможность.
Заключение
Ошибка "Maximum upload file size" — не приговор. С помощью описанных методов вы легко сможете увеличить лимит загрузки файлов в WordPress и избежать ограничений при работе с большими изображениями, видео и архивами. Главное — помнить, что на некоторых хостингах доступ к настройкам ограничен, и тогда единственный выход — обратиться в техподдержку или использовать компромиссные варианты загрузки (например, FTP).