Исправляем «Архив несовместим» при загрузке zip-архивов после обновления до версии WordPress 6.4.3

Ошибка «Архив несовместим» при загрузке zip в WordPress

После обновления до WordPress 6.4.x при установке плагина или темы из zip иногда всплывает «Архив несовместим» / «Incompatible Archive», хотя файл нормальный. Частая причина — сбой или странности PHP-класса ZipArchive на сервере. WordPress умеет распаковывать zip и через PclZip; ниже — как переключить его на этот путь.

Быстрый фикс через фильтр

Добавьте в functions.php активной темы (лучше дочерней) или в небольшой must-use плагин:

add_filter( 'unzip_file_use_ziparchive', '__return_false' );

Фильтр unzip_file_use_ziparchive с возвратом false отключает ZipArchive для распаковки. WordPress уходит на PclZip. После этого снова попробуйте загрузить тот же zip из админки.

Если ошибка осталась

  1. Права на uploads. У wp-content/uploads и подпапок должны быть права на запись (часто 755/775, пользователь — от PHP-FPM/Apache).
  2. Лимиты загрузки. Проверьте upload_max_filesize, post_max_size и лимит в WordPress. Слишком большой zip отвалится ещё до распаковки.
  3. Конфликт плагинов. Временно отключите сторонние плагины (особенно security/file-manager) и повторите установку.
  4. Хостинг. Если zip нормальный, а ошибка только на этом сервере — спросите поддержку про PHP Zip, open_basedir и временные каталоги.

Фильтр — точечный обход, а не «лечение» сервера. На нормальном PHP с рабочим ZipArchive он обычно не нужен. Но когда после 6.4.3 админка отказывается принимать валидные архивы, эта строка часто возвращает установку плагинов и тем в рабочий вид.


Комментарии загружаются…