当我运行一个作曲器更新时,我得到这个错误消息:

Loading composer repositories with package information
Updating dependencies (including require-dev)
    Failed to download psr/log from dist: The zip extension and unzip command are both missing, skipping.
The php.ini used by your command-line PHP is: /etc/php/7.0/cli/php.ini
    Now trying to download from source

我需要做什么才能启用zip和unzip命令,以便编写器可以下载依赖项?


当前回答

实际上,现在的composer似乎不需要zip命令行命令就可以工作,所以安装php-zip应该就足够了——但是它会显示一个警告:

由于没有“unzip”命令,安装的zip文件正在使用 PHP压缩扩展。 这可能导致已损坏档案的无效报告。安装“unzip”可能 纠正他们。

参见使用php-zip是否有问题(作曲家对此发出警告)

其他回答

实际上,现在的composer似乎不需要zip命令行命令就可以工作,所以安装php-zip应该就足够了——但是它会显示一个警告:

由于没有“unzip”命令,安装的zip文件正在使用 PHP压缩扩展。 这可能导致已损坏档案的无效报告。安装“unzip”可能 纠正他们。

参见使用php-zip是否有问题(作曲家对此发出警告)

根据您对Linux和PHP版本的喜好,这些可能会有所不同。

(sudo) yum install zip unzip php-zip
(sudo) apt install zip unzip php-zip

这是一个非常常见的问题,你可以通过搜索<distro> php <version> zip扩展名来找到更多有用的信息。

请先检查你的作曲状态

composer diagnose 

如果状态显示

zip: extension not found, unzip not available, 7-Zip not available

then

打开XAMPP服务器 >点击“PHP(PHP .ini)” 找到“zip” extension = zip将显示 删除分号并保存文件 重新启动XAMPP Apache

Now

composer create-project laravel/laravel <<project_name>>

or

laravel new <<project_name>>

当我在digitalocean云服务器(Ubuntu 18.04和PHP 7.2)上安装Laravel 5.5时,我得到了这个错误,下面的命令修复了它。

Sudo apt安装解压php7.2-zip

如果你使用Ubuntu和PHP 7.2,使用这个…

sudo apt-get update
sudo apt-get install zip unzip php7.2-zip