作曲家要求ext-zip失败

时间:2019-05-20 11:21:02

标签: php composer-php phpstorm

PHPStorm告诉我,我需要作曲家需要ext-zip,但是,该命令失败了。

PHPStorm说

enter image description here

我发出的命令是

composer require ext-zip

产生

Your requirements could not be resolved to an installable set of packages.

Installation failed, reverting ./composer.json to its original content.

3 个答案:

答案 0 :(得分:4)

给定的提示来自PhpStorm,而不是来自composer本身:您的IDE检测到您的代码使用仅在启用ZIP扩展时可用的方法(在本例中为ZipArchive类)。但是您的composer.json到目前为止尚未包含该要求。

因此,PhpStorm要求您将此要求添加到JSON文件中,以使运行代码的要求更加精确。如何解决此需求取决于您:最佳方法是安装该扩展程序,但这超出了作曲家的范围

答案 1 :(得分:4)

如果您的代码运行正常-您已经在计算机上安装了zip扩展名。 PHPStorm添加了此建议,以确保在项目部署的其他任何地方也具有正确的扩展名。

手动将行添加到composer.json文件(require块)"ext-zip": "*",(以及它可能建议的其他行中,例如ext-apcext-redis和{{ 1}},以及您可能使用的任何其他工具),请确保在部署它时,作曲家还可以检查是否安装了适当的额外项目。

不过,这只是一个警告,您可以忽略它-或可以让作曲家确定服务器的设置如运行代码和使用zip文件所需的设置。如果您的服务器未安装ext-zip,ext-json会抱怨,然后停止-稍后发现问题,如果您发现没有zip扩展名的代码失败,则保存问题,等等。

答案 2 :(得分:3)

解决方案#1 -将ext-zip添加到composer.json的必需部分:

{
    "require" : {
        "ext-zip": "*"
    }
}

解决方案2 -安装php-zip扩展名:

Windows:

在您的php.ini中取消注释此行

  

; extension = php_zip.dll

Linux:

  

sudo apt-get install php-zip

  

sudo apt-get install php7.0-zip(确保输入了您的php版本,您可以通过执行php -v命令来检查您的版本)

然后,您需要重新启动Web服务器。

  

sudo服务apache2重新启动