Как исправить 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 подтверждает, что сервер не может создать временный файл‑резерву.
Содержание
- Проверка дискового пространства
- Восстановление свободного места и очистка временных файлов
- Настройка PHP‑параметров и лимитов загрузки
- Проверка прав доступа и временных каталогов
- Решения для All‑in‑One WP Migration
- Альтернативные методы резервной копии и импорта
Проверка дискового пространства
- Войдите в панель управления хостингом (cPanel, Plesk, WHM, Cloud‑консоль).
- Найдите раздел Disk Usage или Space Usage.
- Сравните свободное место с размером самого сайта:
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:
define( 'WP_MEMORY_LIMIT', '256M' );
define( 'WP_MAX_MEMORY_LIMIT', '512M' );
В документации WP Astra говорится, что ошибка PCLZIP_ERR_BAD_FORMAT может возникать из‑за «недостаточного объёма памяти» при распаковке.
Проверка прав доступа и временных каталогов
- Убедитесь, что каталог
wp-content/uploadsимеет права755(или775для групп). - Временный каталог WordPress (
wp-content/tmpилиwp-content/uploads/tmp) должен быть доступен для записи. - Если вы используете
cPanel, включитеUse a different temporary directoryи укажите путь, где есть достаточный свободный объём.
По данным Elegant Themes Help Center, «неправильные права» могут привести к ошибке распаковки.
Решения для All‑in‑One WP Migration
- Разбейте экспорт: в настройках плагина включите «Split files into chunks» (по умолчанию 10 МБ).
- Запустите экспорт вручную:
- Включите
WP_DEBUGиWP_DEBUG_LOG, чтобы увидеть детали вwp-content/debug.log. - Если файл превышает лимит
upload_max_filesize, уменьшите его размер с помощью опций в плагине.
- Включите
- Увеличьте лимит временного каталога:
- Добавьте в
wp-config.php:phpdefine( 'WP_TEMP_DIR', dirname(__FILE__) . '/wp-content/tmp' ); - Создайте каталог
tmpи задайте права755.
- Добавьте в
- Выполните экспорт через WP‑CLI (если доступно):Это создаст архив, который можно потом перенести вручную.bash
wp all-in-one-wp-migration export --output=/tmp/site-backup.zip --chunk-size=10 - Проверьте наличие обновлений: иногда баги в плагине исправляются в новых релизах.
Согласно 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)чаще всего решение – увеличение места и лимитов, а не проблема самого архива.
Если после выполнения всех пунктов ошибка сохраняется, обратитесь к хостинг‑поддержке – возможно, уровень квоты слишком низок, а система не позволяет создать временные файлы.
Источники
- Stack Overflow: Wordpress theme upload error PCLZIP_ERR_BAD_FORMAT
- WP Astra: Fix for – The PCLZIP_ERR_BAD_FORMAT (-10) Error
- Elegant Themes Help Center: How to Fix the pclzip_err_bad_format Error
- All‑in‑One WP Migration documentation: Export settings
- WordPress Codex: Troubleshooting plugin installation errors