缺少 zip 扩展时,需根据操作系统安装或启用:Ubuntu/Debian 用 sudo apt install php-zip,CentOS/RHEL 用 sudo yum install php-zip 或 dnf,Windows 在 php.ini 中取消 ;extension=zip 注释并重启服务,macOS 通过 Homebrew 安装 PHP 时通常自带;最后用 php -m | grep zip 验证并运行 composer install。

安装 Composer 项目时提示 "requires ext-zip",说明当前 PHP 环境缺少 zip 扩展。Composer 检测到项目依赖的某个包需要 PHP 的 zip 扩展支持(常用于处理压缩文件,如解压第三方库),但你的系统未启用该扩展。这个问题很常见,解决方法取决于你的操作系统和 PHP 安装方式。
确认缺失的扩展
运行以下命令查看当前已加载的 PHP 扩展:
php -m | grep zip如果无输出或提示 zip 未安装,说明确实缺失。你也可以创建一个 phpinfo() 页面,在浏览器中查看是否包含 zip 模块。
Linux 系统下安装 ext-zip
大多数 Linux 发行版可通过包管理器安装 PHP zip 扩展:
立即学习“PHP免费学习笔记(深入)”;
-
Ubuntu/Debian:
sudo apt install php-zip
如果是特定版本,例如 PHP 8.1:
sudo apt install php8.1-zip -
CentOS/RHEL/AlmaLinux(使用 yum 或 dnf):
sudo yum install php-zip 或
sudo dnf install php-zip
安装完成后重启 Web 服务(如 Apache 或 PHP-FPM):
sudo systemctl restart apache2sudo systemctl restart php8.1-fpm
Windows 系统下启用 zip 扩展
Windows 用户通常使用集成环境(如 XAMPP、WAMP)或手动配置 PHP。操作如下:
- 打开 php.ini 文件(可通过 php --ini 查找路径)
- 找到这一行:
;extension=zip
去掉前面的分号,改为:
extension=zip - 保存文件并重启 Apache 或 IIS
如果 extension=zip 不存在,确认你的 PHP 版本是否自带 php_zip.dll 文件(位于 PHP 安装目录的 ext 子目录)。若没有,可能需重新下载对应版本的 PHP 包。
macOS 上的处理方式
如果你使用 Homebrew 安装 PHP:
brew install php@8.1 (或其他版本)Homebrew 安装的 PHP 通常默认包含 zip 扩展。若仍缺失,检查 php.ini 是否启用了:
extension=zip或通过以下命令确认:
php -m | grep zip验证修复结果
执行以下命令确认 zip 扩展已加载:
php -m | grep zip看到输出 zip 后,再次运行 Composer 安装命令:
composer install此时应不再报错。
基本上就这些。PHP 常见扩展如 zip、mbstring、xml、curl 等在新环境部署时常被忽略,建议根据项目 composer.json 中的 require 部分提前检查并安装所需扩展,避免反复出错。











