Веб

Как исправить PCLZIP_ERR_BAD_FORMAT и Out of disk space в WP

Проблемы с установкой плагинов и резервным копированием в WordPress из‑за нехватки дискового пространства и плохой структуры ZIP‑архива. Как устранить?

Почему WordPress не позволяет установить плагины и выдаёт ошибку «Не удалось установить архив. PCLZIP_ERR_BAD_FORMAT (-10): Invalid archive structure»? Я пыталась сделать резервную копию сайта через All‑in‑One WP Migration, но возникла ошибка «Out of disk space. Unable to write header to file». Предполагаю, что проблема в нехватке места на диске. Что делать дальше? Как решить проблему с установкой плагинов и копированием сайта?

Не удалось установить архив. PCLZIP_ERR_BAD_FORMAT (-10) — это «плохая» структура ZIP‑архива, но чаще всего причина — не хватает места на диске, чем файл просто обрезается или не распаковывается. Ошибка «Out of disk space. Unable to write header to file» от All‑in‑One WP Migration подтверждает, что сервер не может создать временный файл‑резерву.


Содержание


Проверка дискового пространства

  1. Войдите в панель управления хостингом (cPanel, Plesk, WHM, Cloud‑консоль).
  2. Найдите раздел Disk Usage или Space Usage.
  3. Сравните свободное место с размером самого сайта:
    • wp-content/uploads – обычно занимает большинство места.
    • wp-content/cache и wp-content/backups – часто растут при кешировании и резервных копиях.

Если свободно менее 10 % от общего пространства, это уже сигнал к действию.


Восстановление свободного места и очистка временных файлов

Шаг Что делаем Как проверить
1 Удаляем старые резервные копии и временные файлы в wp-content/backups, wp-content/cache, wp-content/uploads Проверяем размер после удаления
2 Очищаем корзину в cPanel (если есть) Disk Usage → Trash
3 Временно отключаем плагины, генерирующие большие файлы (e.g., кеш, сжатие) wp-content/plugins
4 Пробуем удалить неиспользуемые темы и плагины wp-content/themes
5 Если хостинг предоставляет «quota» (объем лимита), увеличиваем его через WHM или обращаемся в поддержку WHM → Server Configuration → Change Disk Quota

Согласно Stack Overflow, недостаток дискового пространства – частая причина ошибки PCLZIP_ERR_BAD_FORMAT.


Настройка PHP‑параметров и лимитов загрузки

Параметры, которые нужно проверить и при необходимости увеличить:

Параметр Рекоменд. значение Как изменить
upload_max_filesize ≥ 128 МБ (или 256 МБ) php.ini, .htaccess, wp-config.php
post_max_size ≥ 128 МБ тот же способ
memory_limit ≥ 128 МБ php.ini, wp-config.php
max_execution_time ≥ 300 сек php.ini
max_input_time ≥ 300 сек php.ini

Пример в wp-config.php:

php
define( 'WP_MEMORY_LIMIT', '256M' );
define( 'WP_MAX_MEMORY_LIMIT', '512M' );

В документации WP Astra говорится, что ошибка PCLZIP_ERR_BAD_FORMAT может возникать из‑за «недостаточного объёма памяти» при распаковке.


Проверка прав доступа и временных каталогов

  1. Убедитесь, что каталог wp-content/uploads имеет права 755 (или 775 для групп).
  2. Временный каталог WordPress (wp-content/tmp или wp-content/uploads/tmp) должен быть доступен для записи.
  3. Если вы используете cPanel, включите Use a different temporary directory и укажите путь, где есть достаточный свободный объём.

По данным Elegant Themes Help Center, «неправильные права» могут привести к ошибке распаковки.


Решения для All‑in‑One WP Migration

  1. Разбейте экспорт: в настройках плагина включите «Split files into chunks» (по умолчанию 10 МБ).
  2. Запустите экспорт вручную:
    • Включите WP_DEBUG и WP_DEBUG_LOG, чтобы увидеть детали в wp-content/debug.log.
    • Если файл превышает лимит upload_max_filesize, уменьшите его размер с помощью опций в плагине.
  3. Увеличьте лимит временного каталога:
    • Добавьте в wp-config.php:
      php
      define( 'WP_TEMP_DIR', dirname(__FILE__) . '/wp-content/tmp' );
      
    • Создайте каталог tmp и задайте права 755.
  4. Выполните экспорт через WP‑CLI (если доступно):
    bash
    wp all-in-one-wp-migration export --output=/tmp/site-backup.zip --chunk-size=10
    
    Это создаст архив, который можно потом перенести вручную.
  5. Проверьте наличие обновлений: иногда баги в плагине исправляются в новых релизах.

Согласно WP Astra, «плохой архив» часто возникает из‑за «неполно загруженного файла», что можно исправить, увеличив лимиты и разбив архив.


Альтернативные методы резервной копии и импорта

Метод Как работает Когда использовать
Duplicator Создаёт архив и скрипт для миграции. Если All‑in‑One WP Migration не справляется.
UpdraftPlus Хранит резервные копии в облаке (Google Drive, Dropbox). Когда у вас недостаточно места на сервере, но есть доступ к облаку.
WP‑CLI wp db export + wp export Экспорт базы и файлов отдельно. Если вы хотите только данные, а не полный сайт.
cPanel Backup Wizard Создаёт полную резервную копию сайта. Если у вас включён cPanel и хватает места.

Заключение

  • Проверьте и освободите дисковое пространство – это основной шаг.
  • Увеличьте PHP‑лимиты (upload_max_filesize, memory_limit, max_execution_time).
  • Убедитесь в корректных правах доступа к wp-content и временным каталогам.
  • Разбейте архивы в All‑in‑One WP Migration и используйте WP‑CLI для больших проектов.
  • При возникновении ошибки PCLZIP_ERR_BAD_FORMAT (-10) чаще всего решение – увеличение места и лимитов, а не проблема самого архива.

Если после выполнения всех пунктов ошибка сохраняется, обратитесь к хостинг‑поддержке – возможно, уровень квоты слишком низок, а система не позволяет создать временные файлы.


Источники

  1. Stack Overflow: Wordpress theme upload error PCLZIP_ERR_BAD_FORMAT
  2. WP Astra: Fix for – The PCLZIP_ERR_BAD_FORMAT (-10) Error
  3. Elegant Themes Help Center: How to Fix the pclzip_err_bad_format Error
  4. All‑in‑One WP Migration documentation: Export settings
  5. WordPress Codex: Troubleshooting plugin installation errors
Авторы
Проверено модерацией
Модерация