Как избежать проблем с загрузкой больших файлов в WordPress

Диагностика проблем с загрузкой больших файлов в WordPress

При загрузке больших файлов (например, видео, архивов, бэкапов) в WordPress часто возникают ошибки: "Превышен максимальный размер файла" или "Ошибка HTTP". Это связано с ограничениями PHP и сервера, а также с настройками самого WordPress. Чтобы понять, в чем причина, проверьте:

  • Параметры upload_max_filesize и post_max_size в php.ini;
  • Максимальное время выполнения скрипта max_execution_time;
  • Максимальный размер запроса в настройках сервера (например, в nginx.conf или .htaccess для Apache);
  • Настройки WordPress в разделе медиафайлов;
  • Наличие ошибок в логах сервера и PHP.

Пошаговое решение: увеличиваем лимиты загрузки

1. Проверяем текущие лимиты через PHP

<?php
phpinfo();
?>

Создайте файл phpinfo.php в корне сайта с этим кодом и откройте его в браузере. Найдите значения upload_max_filesize, post_max_size, max_execution_time.

2. Правим php.ini (если есть доступ)

upload_max_filesize = 128M
post_max_size = 128M
max_execution_time = 300
max_input_time = 300
memory_limit = 256M

После изменения перезапустите сервер.

3. Вариант с .htaccess (для Apache)

php_value upload_max_filesize 128M
php_value post_max_size 128M
php_value max_execution_time 300
php_value max_input_time 300

Добавьте этот код в корневой .htaccess.

4. Настройка wp-config.php (ограниченно)

@ini_set('upload_max_size' , '128M');
@ini_set('post_max_size', '128M');
@ini_set('max_execution_time', '300');

Добавьте в начало файла wp-config.php.

5. Проверка настроек сервера (nginx)

client_max_body_size 128M;

Добавьте в конфигурацию nginx и перезапустите сервер.

6. Применение в WordPress

Иногда WordPress ограничивает размер загрузки самостоятельно. Чтобы проверить, добавьте код в файл темы functions.php:

function set_custom_upload_size_limit( $size ) {
    return 134217728; // 128 МБ в байтах
}
add_filter( 'upload_size_limit', 'set_custom_upload_size_limit', 20 );

Как проверить, что решение сработало

  • Зайдите в админ-панель WordPress в раздел Медиа > Добавить новый файл. В нижней части формы загрузки увидите надпись "Максимальный размер загружаемого файла" — она должна показывать новое значение (например, 128 MB).
  • Попробуйте загрузить файл размером близким к новому лимиту.
  • Если возникнет ошибка, проверьте логи PHP и сервера.

Частые ошибки при настройке лимитов загрузки

  • Изменения не применяются: часто из-за отсутствия перезапуска веб-сервера или настройки переопределяется на уровне хостинга.
  • Конфликты настроек: post_max_size должен быть больше или равен upload_max_filesize, иначе загрузка не пройдет.
  • Неверный синтаксис в .htaccess или конфигурациях: может привести к ошибкам 500.
  • Ограничения на стороне хостинга: некоторые провайдеры не позволяют менять эти параметры.

Практические советы по безопасности и производительности

  • Не устанавливайте слишком большие значения без необходимости — это повышает риск DoS-атак и нагрузку на сервер.
  • Для загрузки больших файлов используйте FTP или специализированные плагины с поддержкой chunked upload.
  • Ограничьте типы файлов для загрузки через фильтры WordPress и настройки сервера.
  • Регулярно очищайте временные папки, чтобы избежать переполнения диска.

Сравнение способов увеличения лимитов загрузки

МетодПлюсыМинусы
Правка php.iniНадежный, глобальный эффектТребует доступа к серверу, перезапуск
.htaccessПросто для Apache, быстроНе работает на nginx, может вызвать ошибки
wp-config.phpЛегко внедрить, не нужен доступ к серверуОграниченный эффект, зависит от настроек сервера
Настройка nginxОбязательна для nginx, эффективнаТребуется доступ к серверу и перезапуск
Как отключить автообновления в WordPress без риска для сайта
18.03.2026
Как исправить проблему с неотзывчивым wp-admin admin-ajax.php в WordPress
09.12.2025
WooCommerce: как автоматически удалять старые вариации товаров
27.05.2026
Оптимизация кэширования и удаление старых кэшей в WordPress
02.01.2026
Как установить ограничения на размер загружаемых файлов в WordPress
29.12.2025