---
title: "Fixing Zip Format errors"
url: https://phatdev.net/en/docs/sl-migrations/how-to-resolve-zip-format-related-build-issues
lang: en
updated: 2026-10-20
alternate:
  vi: https://phatdev.net/docs/sl-migrations/how-to-resolve-zip-format-related-build-issues
markdown: https://phatdev.net/en/docs/sl-migrations/how-to-resolve-zip-format-related-build-issues.md
---

# Fixing Zip Format errors

Part of the doc set: [SL Migrations](https://phatdev.net/en/docs/sl-migrations.md)

> The archive has a format error or cannot be extracted.

## Zip Format Build Issues

## Symptoms

- The build finishes but the archive cannot be extracted
- ZipArchive reports `Zip error: Read error (truncated content)`
- Archive verification fails

## Causes and fixes

### 1. Archive corrupt because the disk was full

The build was cut off midway because the disk ran out of space. Compare the archive size with the scanner's estimate - if it is much smaller, it was cut off.

**Fix**: free up disk space → build again.

### 2. PHP ZipArchive size limit

Native PHP ZipArchive has a 2-4 GB limit on some builds. An archive over the limit gets corrupted.

**Fix**: switch the engine to **DupArchive** in **Settings → Package → Archive Engine**. DupArchive supports unlimited size.

### 3. File path too long

Some filesystems limit path length (usually 255 characters, lower in some configurations). A longer path → a bad archive entry.

**Fix**: find and rename or move the files with overly long paths.

### 4. File names with non-UTF8 characters

A file whose name contains non-UTF-8 characters → the archive entry is corrupted when extracted on another system.

**Fix**: rename the file to ASCII or valid UTF-8.

### 5. Filesystem case sensitivity

Building on Linux (case-sensitive) → restoring to macOS or Windows (case-insensitive) can cause collisions: `Image.jpg` vs `image.jpg`.

**Fix**: audit and rename duplicate files before backing up.

## Verify the archive after building

In **SL Migrations → Packages**, click the package you just built → choose **Verify**. The plugin checks the archive's integrity and reports any errors.

## See also

- [The DAF file format](https://phatdev.net/en/docs/sl-migrations/how-to-work-with-daf-files-and-the-duparchive-extraction-tool)
- [Zip engines](https://phatdev.net/en/docs/sl-migrations/how-to-work-with-the-different-zip-engines)
