如何解决Composer安装phpseclib3时的‘zip扩展及unzip/7z缺失’错误?
问题:Composer安装phpseclib3失败,提示zip扩展/解压命令缺失、Git未找到
错误信息
Failed to download paragonie/random_compat from dist: The zip extension and unzip/7z commands are both missing, skipping. The php.ini used by your command-line PHP is: C:\xampp\php\php.ini Now trying to download from source In GitDownloader.php line 82: git was not found in your PATH, skipping source download
环境与已尝试操作
- Composer关联PHP路径:
C:\xampp\php\php.exe - 已执行的安装命令:
composer require phpseclib/phpseclib:~3.0 composer require --prefer-dist phpseclib/phpseclib:~3.0 - 需求背景:为自定义WordPress插件实现外部SFTP连接
解决方法
1. 启用PHP的zip扩展
打开C:\xampp\php\php.ini配置文件,找到;extension=zip这一行,删除开头的分号;,保存文件后重启XAMPP服务(命令行环境需重启终端,确保PHP环境变量指向XAMPP版本)。
2. 配置解压工具(可选)
若启用zip扩展后仍有问题,可安装7zip并配置环境变量:
- 安装7zip客户端
- 将7zip安装目录(如
C:\Program Files\7-Zip)添加到系统PATH环境变量 - 重启终端,执行
7z命令验证是否可用
3. 配置Git(可选源码下载方案)
如果不想依赖zip扩展,可配置Git作为源码下载渠道:
- 安装Git客户端
- 将Git的
bin目录(如C:\Program Files\Git\bin)添加到系统PATH环境变量 - 重启终端,执行
git --version验证是否可用
4. 重新执行安装命令
完成上述任意一种配置后,再次运行:
composer require phpseclib/phpseclib:~3.0
内容的提问来源于stack exchange,提问作者KWS
相关产品推荐
相关产品推荐

