Composer zlib_decode()错误源于PHP zlib扩展异常、ZIP损坏、网络中断或zlib库版本不兼容;需检查zlib启用状态、清缓存、禁用ZIP校验或改用Git源码安装。

这个问题通常出现在 Composer 下载或解压 ZIP 包时,zlib 扩展无法正确解码压缩流,导致 zlib_decode(): data error 或类似错误。根本原因多为 PHP zlib 扩展异常、ZIP 文件损坏、网络中断导致包不完整,或系统级 zlib 库版本不兼容。
Composer 依赖 PHP 的 zlib 扩展处理 ZIP 解压。先确认扩展已启用且工作正常:
php -m | grep zlib,确保输出包含 zlib
php -r "echo function_exists('zlib_decode') ? 'OK' : 'Missing';",应返回 OK
sudo apt install php-zip php-zlib;macOS 使用 Homebrew 安装对应 PHP 版本的 zlib 模块损坏的缓存 ZIP 文件会反复触发 zlib 错误。强制清理并临时绕过校验可快速验证是否为缓存问题:
composer clear-cache 彻底删除 ~/.composer/cache/ 下所有内容COMPOSER_DISABLE_ZIP_CHECK=1 composer install
Composer 默认优先使用 ZIP 包(快但依赖 zlib)。若 zlib 不可靠,可强制回退到 Git 克隆源码(不经过 zlib 解压):
composer.json,加入配置:"config": {
"preferred-install": "source",
"fxp-asset": {
"installer-paths": {
"npm-asset-library": "vendor/npm-asset"
}
}
}composer config --global preferred-install source
旧版 Composer(
composer self-update(推荐 ≥2.5.x)zlib.output_compression = Off 避免干扰php.ini 中显式关闭输出压缩:zlib.output_compression = Off
以上就是如何修复Composer因zlib_decode()错误导致的解压失败?的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号